diff --git a/app/src/main/java/io/legado/app/lib/theme/prefs/ATEPreferenceCategory.kt b/app/src/main/java/io/legado/app/lib/theme/prefs/ATEPreferenceCategory.kt index c2d39f3a7..7f15973ef 100644 --- a/app/src/main/java/io/legado/app/lib/theme/prefs/ATEPreferenceCategory.kt +++ b/app/src/main/java/io/legado/app/lib/theme/prefs/ATEPreferenceCategory.kt @@ -29,7 +29,7 @@ class ATEPreferenceCategory : PreferenceCategory { override fun onBindViewHolder(holder: PreferenceViewHolder?) { super.onBindViewHolder(holder) holder?.let { - val view = it.itemView + val view = it.findViewById(android.R.id.title) if (view is TextView) { view.setTextColor(ThemeStore.accentColor(view.getContext()))//设置title文本的颜色 } diff --git a/app/src/main/java/io/legado/app/lib/theme/prefs/ATESwitchPreference.kt b/app/src/main/java/io/legado/app/lib/theme/prefs/ATESwitchPreference.kt index 7c4b54ec8..2ff1c9c05 100644 --- a/app/src/main/java/io/legado/app/lib/theme/prefs/ATESwitchPreference.kt +++ b/app/src/main/java/io/legado/app/lib/theme/prefs/ATESwitchPreference.kt @@ -3,14 +3,13 @@ package io.legado.app.lib.theme.prefs import android.content.Context import android.os.Build import android.util.AttributeSet -import android.view.ViewGroup -import android.widget.Switch import androidx.annotation.RequiresApi +import androidx.appcompat.widget.SwitchCompat import androidx.preference.PreferenceViewHolder import androidx.preference.SwitchPreferenceCompat +import io.legado.app.R import io.legado.app.lib.theme.ATH import io.legado.app.lib.theme.ThemeStore -import java.util.* class ATESwitchPreference : SwitchPreferenceCompat { @@ -31,21 +30,9 @@ class ATESwitchPreference : SwitchPreferenceCompat { override fun onBindViewHolder(holder: PreferenceViewHolder?) { super.onBindViewHolder(holder) holder?.let { - val view = it.itemView - if (view is ViewGroup) { - val queue = LinkedList() - queue.add(view) - while (!queue.isEmpty()) { - val current = queue.removeFirst() - for (i in 0 until current.childCount) { - if (current.getChildAt(i) is Switch) { - ATH.setTint(current.getChildAt(i), ThemeStore.accentColor(view.getContext())) - return - } else if (current.getChildAt(i) is ViewGroup) { - queue.addLast(current.getChildAt(i) as ViewGroup) - } - } - } + val view = it.findViewById(R.id.switchWidget) + if (view is SwitchCompat) { + ATH.setTint(view, ThemeStore.accentColor(view.getContext())) } } }