refactor(layout): 优化多个布局文件的结构和样式

-调整 TabLayout 属性以改善显示效果
- 移除不必要的 View 组件和布局嵌套
- 优化 ModFragment 中的代码结构
- 修复 UnitsActivity 中的 exitActivity 方法
This commit is contained in:
muqing 2025-01-21 12:38:08 +08:00
parent 64af11ffed
commit 1b69f434e8
6 changed files with 100 additions and 125 deletions

View File

@ -33,6 +33,7 @@ import kotlin.concurrent.thread
class UnitsActivity : BaseActivity<ActivityUnitsBinding>() {
private lateinit var modPageAdapter: ModPageAdapter
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == RESULT_OK && data != null) {
@ -190,7 +191,7 @@ class UnitsActivity : BaseActivity<ActivityUnitsBinding>() {
/**
* 关闭数据库链接并退出活动
*/
fun exitActivity() {
private fun exitActivity() {
finish()
}

View File

@ -4,6 +4,8 @@ import android.annotation.SuppressLint
import android.content.res.ColorStateList
import android.os.*
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.view.isVisible
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
@ -21,8 +23,10 @@ import com.coldmint.rust.pro.databinding.FragmentModBinding
import com.coldmint.rust.pro.databinding.ModListItemBinding
import com.coldmint.rust.pro.tool.AppSettings
import com.coldmint.rust.pro.tool.GlobalMethod
import com.coldmint.rust.pro.tool.Tools
import com.coldmint.rust.pro.ui.StableLinearLayoutManager
import com.coldmint.rust.pro.viewmodel.ModViewModel
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.bottomsheet.BottomSheetDialog
import com.google.android.material.divider.MaterialDividerItemDecoration
import com.google.android.material.snackbar.Snackbar
@ -200,17 +204,15 @@ class ModFragment : BaseFragment<FragmentModBinding>() {
FastScrollerBuilder(viewBinding.modList).useMd2Style()
.setPopupTextProvider(modAdapter).build()
modAdapter.setItemEvent { i, modListItemBinding, viewHolder, modClass ->
modListItemBinding.root.setOnClickListener {
onClickItemWork(modListItemBinding, modClass)
}
modListItemBinding.root.setOnLongClickListener {
modAdapter.showDeleteItemDialog(
modClass.modName,
viewHolder.adapterPosition,
viewHolder.absoluteAdapterPosition,
onClickPositiveButton = { d, b ->
delFile(handler, modClass, viewHolder.adapterPosition)
delFile(handler, modClass, viewHolder.absoluteAdapterPosition)
false
})
false
@ -266,7 +268,7 @@ class ModFragment : BaseFragment<FragmentModBinding>() {
works.add(getString(R.string.release))
if (configurationData != null) {
val title = configurationData.updateTitle
if (!title.isEmpty()) {
if (title.isNotEmpty()) {
works.add(title)
}
@ -320,6 +322,14 @@ class ModFragment : BaseFragment<FragmentModBinding>() {
)
}
bottomSheetDialog.setContentView(modDialogBinding.root)
val bottomSheet = bottomSheetDialog.findViewById<View>(com.google.android.material.R.id.design_bottom_sheet)
if (bottomSheet != null) {
val behavior = BottomSheetBehavior.from(bottomSheet)
behavior.state = BottomSheetBehavior.STATE_EXPANDED // 默认展开
behavior.isFitToContents = true // 使其填满屏幕
behavior.peekHeight = ViewGroup.LayoutParams.MATCH_PARENT
}
bottomSheetDialog.show()
}

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<merge>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="0dp"
@ -7,26 +8,9 @@
android:layout_weight="1"
android:background="?android:colorBackground">
<LinearLayout
android:id="@+id/titleView"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:gravity="center"
android:fitsSystemWindows="true"
android:background="?android:windowBackground"
app:cardElevation="2dp">
<TextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/file_manager" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/titleView"
android:gravity="center"
android:orientation="vertical">

View File

@ -19,19 +19,10 @@
android:id="@+id/tabLayout"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<!-- <com.google.android.material.tabs.TabItem-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="全部" />-->
<!-- <com.google.android.material.tabs.TabItem-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="最近" />-->
</com.google.android.material.tabs.TabLayout>
app:tabGravity="center"
app:tabMode="auto"
app:tabMaxWidth="300dp"
android:layout_height="wrap_content" />
</com.google.android.material.appbar.AppBarLayout>
@ -51,6 +42,7 @@
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:importantForAccessibility="no"
android:src="@drawable/add" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<merge>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
@ -7,26 +8,9 @@
android:layout_gravity="start"
android:background="?android:colorBackground">
<LinearLayout
android:id="@+id/titleView"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:gravity="center"
android:fitsSystemWindows="true"
android:background="?android:windowBackground"
app:cardElevation="2dp">
<TextView
style="@style/TextAppearance.Material3.TitleMedium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/file_manager" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/titleView"
android:gravity="center"
android:orientation="vertical">
@ -53,6 +37,7 @@
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_margin="16dp"
android:importantForAccessibility="no"
android:src="@drawable/add"
android:visibility="gone" />

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
@ -17,9 +18,11 @@
android:id="@+id/modErrorIcon"
android:layout_width="100dp"
android:layout_height="100dp"
android:importantForAccessibility="no"
android:src="@drawable/empty_content"
android:visibility="gone"
app:tint="?attr/colorControlNormal" />
app:tint="?attr/colorControlNormal"
tools:visibility="visible" />
<TextView
android:id="@+id/modError"
@ -33,10 +36,10 @@
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshLayout"
android:layout_width="match_parent"
android:visibility="gone"
android:layout_marginTop="8dp"
android:layout_height="match_parent"
android:layout_marginHorizontal="16dp"
android:layout_height="match_parent">
android:layout_marginTop="8dp"
android:visibility="gone">
<androidx.recyclerview.widget.RecyclerView