主题列表选中时勾选 #252

This commit is contained in:
HapeLee committed 2025-11-09 16:38:20 +08:00
1 parent 8add267239
commit 0ac3caeaf8
2 files changed
+21 -4

No files matched your search

@@ -2,10 +2,12 @@ package io.legado.app.ui.config
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.MenuItem import android.view.MenuItem
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import androidx.core.graphics.toColorInt
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.BaseBottomSheetDialogFragment import io.legado.app.base.BaseBottomSheetDialogFragment
@@ -15,6 +17,7 @@ import io.legado.app.databinding.DialogRecyclerViewBinding
import io.legado.app.databinding.ItemThemeConfigBinding import io.legado.app.databinding.ItemThemeConfigBinding
import io.legado.app.help.config.ThemeConfig import io.legado.app.help.config.ThemeConfig
import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.alert
import io.legado.app.lib.theme.primaryColor
//import io.legado.app.lib.theme.primaryColor //import io.legado.app.lib.theme.primaryColor
import io.legado.app.ui.widget.recycler.VerticalDivider import io.legado.app.ui.widget.recycler.VerticalDivider
import io.legado.app.utils.* import io.legado.app.utils.*
@@ -41,7 +44,6 @@ class ThemeListDialog : BaseBottomSheetDialogFragment(R.layout.dialog_recycler_v
private fun initView() = binding.run { private fun initView() = binding.run {
recyclerView.layoutManager = LinearLayoutManager(requireContext()) recyclerView.layoutManager = LinearLayoutManager(requireContext())
recyclerView.addItemDecoration(VerticalDivider(requireContext()))
recyclerView.adapter = adapter recyclerView.adapter = adapter
} }
@@ -100,9 +102,14 @@ class ThemeListDialog : BaseBottomSheetDialogFragment(R.layout.dialog_recycler_v
) { ) {
binding.apply { binding.apply {
tvName.text = item.themeName tvName.text = item.themeName
if (item.primaryColor.toColorInt() == context.primaryColor)
cdRoot.setCardBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSecondaryContainer))
else
cdRoot.setCardBackgroundColor(context.themeColor(com.google.android.material.R.attr.colorSurfaceContainer))
} }
} }
override fun registerListener(holder: ItemViewHolder, binding: ItemThemeConfigBinding) { override fun registerListener(holder: ItemViewHolder, binding: ItemThemeConfigBinding) {
binding.apply { binding.apply {
root.setOnClickListener { root.setOnClickListener {
+13 -3
View File
@@ -1,10 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.google.android.material.listitem.ListItemCardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/cd_root"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="12dp" android:checkable="true"
android:background="?attr/selectableItemBackground" app:cardCornerRadius="16dp"
android:layout_margin="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp"
android:gravity="center_vertical" android:gravity="center_vertical"
android:orientation="horizontal"> android:orientation="horizontal">
@@ -42,3 +50,5 @@
tools:ignore="UnusedAttribute" /> tools:ignore="UnusedAttribute" />
</LinearLayout> </LinearLayout>
</com.google.android.material.listitem.ListItemCardView>