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 中部分语言日期格式不正确的问题"
],
"improvement": [
"主页抽屉在横向屏幕或超宽屏幕的宽度适应性",
"关于应用与开发者页面增加水平布局及小屏布局适配",
"文件管理器浮动按钮展开后点击其他区域可自动隐藏",
"打包单文件时自动读取并勾选已安装应用的声明权限 _[`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.settings.AboutActivity
import org.autojs.autojs.ui.settings.PreferencesActivity
import org.autojs.autojs.util.DisplayUtils
import org.autojs.autojs.util.NetworkUtils
import org.autojs.autojs.util.ViewUtils
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.Subscribe
import java.lang.ref.WeakReference
import kotlin.math.roundToInt
/**
* Created by Stardust on Jan 30, 2017.
@@ -390,11 +392,21 @@ open class DrawerFragment : Fragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
mDrawerMenu = binding.drawerMenu
configureDrawerWidth()
initMenuItems()
initMenuItemStates()
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() {
binding.settings.setOnClickListener { view ->
startActivity(

View File

@@ -1,15 +1,17 @@
<?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: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:background="?android:windowBackground"
android:clickable="true"
android:fitsSystemWindows="true"
android:focusable="true"
android:importantForAccessibility="no"
android:orientation="vertical"
android:focusable="true">
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/drawer_menu"