6.6.3 - Alpha2 - 优化主页抽屉在横向屏幕或超宽屏幕的宽度适应性

This commit is contained in:
SuperMonster003
2025-05-09 17:16:17 +08:00
parent 76d0f3a809
commit a89b1f014d
3 changed files with 103 additions and 88 deletions

View File

@@ -20,6 +20,7 @@
"README.md 中部分语言日期格式不正确的问题" "README.md 中部分语言日期格式不正确的问题"
], ],
"improvement": [ "improvement": [
"主页抽屉在横向屏幕或超宽屏幕的宽度适应性",
"关于应用与开发者页面增加水平布局及小屏布局适配", "关于应用与开发者页面增加水平布局及小屏布局适配",
"文件管理器浮动按钮展开后点击其他区域可自动隐藏", "文件管理器浮动按钮展开后点击其他区域可自动隐藏",
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_", "打包单文件时自动读取并勾选已安装应用的声明权限 _[`issue #362`](http://issues.autojs6.com/362)_",

View File

@@ -38,6 +38,7 @@ import org.autojs.autojs.ui.fragment.BindingDelegates.viewBinding
import org.autojs.autojs.ui.main.MainActivity import org.autojs.autojs.ui.main.MainActivity
import org.autojs.autojs.ui.settings.AboutActivity import org.autojs.autojs.ui.settings.AboutActivity
import org.autojs.autojs.ui.settings.PreferencesActivity import org.autojs.autojs.ui.settings.PreferencesActivity
import org.autojs.autojs.util.DisplayUtils
import org.autojs.autojs.util.NetworkUtils import org.autojs.autojs.util.NetworkUtils
import org.autojs.autojs.util.ViewUtils import org.autojs.autojs.util.ViewUtils
import org.autojs.autojs.util.ViewUtils.MODE import org.autojs.autojs.util.ViewUtils.MODE
@@ -47,6 +48,7 @@ import org.autojs.autojs6.databinding.FragmentDrawerBinding
import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import java.lang.ref.WeakReference import java.lang.ref.WeakReference
import kotlin.math.roundToInt
/** /**
* Created by Stardust on Jan 30, 2017. * Created by Stardust on Jan 30, 2017.
@@ -390,11 +392,21 @@ open class DrawerFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
mDrawerMenu = binding.drawerMenu mDrawerMenu = binding.drawerMenu
configureDrawerWidth()
initMenuItems() initMenuItems()
initMenuItemStates() initMenuItemStates()
setupListeners() setupListeners()
} }
private fun configureDrawerWidth() {
val screenWidthDp = resources.configuration.screenWidthDp
val targetWidthPx = 288f.coerceIn(
screenWidthDp * 0.4f,
screenWidthDp * 0.9f,
).let { DisplayUtils.dpToPx(it) }.roundToInt()
binding.drawerMenuContainer.layoutParams.width = targetWidthPx
}
private fun setupListeners() { private fun setupListeners() {
binding.settings.setOnClickListener { view -> binding.settings.setOnClickListener { view ->
startActivity( startActivity(

View File

@@ -1,15 +1,17 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="288dp" android:id="@+id/drawer_menu_container"
android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="?android:windowBackground" android:background="?android:windowBackground"
android:clickable="true" android:clickable="true"
android:fitsSystemWindows="true" android:fitsSystemWindows="true"
android:focusable="true"
android:importantForAccessibility="no" android:importantForAccessibility="no"
android:orientation="vertical" android:orientation="vertical">
android:focusable="true">
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/drawer_menu" android:id="@+id/drawer_menu"