android-layout - ListPreference 列表选项文本颜色
问题描述
我正在尝试设置 ListPreference 对话框的样式以适应深色主题,并使用我的代码给出的强调色。但是,无论我添加什么属性,每个选项的文本颜色似乎都不会改变。有没有办法做到这一点而不必创建我自己的 Dialog 类?Ps 我已经尝试过这个答案中给出的解决方案:ListPreference text color 不,它似乎不起作用。这是来自 styles.xml 的所需代码:(不是整个代码,但这是我需要展示的全部内容)
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="dialogPreferenceStyle">@style/DialogBoxTheme</item>
<item name="listDividerAlertDialog">@style/DialogBoxTheme</item>
<item name="alertDialogStyle">@style/DialogBoxTheme</item>
<item name="alertDialogTheme">@style/DialogBoxTheme</item>
</style>
<style name="DialogBoxTheme" parent="ThemeOverlay.AppCompat.Dialog.Alert">
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:layout_gravity">center</item>
<item name="android:layout_width">320dp</item>
<item name="android:layout_height">200dp</item>
<item name="android:layout_marginStart">16dp</item>
<item name="android:layout_marginEnd">16dp</item>
<item name="android:textColorPrimary">@color/colorPrimary</item>
<item name="android:textColorSecondary">@color/colorPrimary</item>
<item name="android:textColorHint">@color/Silver</item>
<item name="android:textColorTertiary">@color/colorAccent</item>
<item name="android:textColor">@color/colorPrimary</item>
<item name="android:colorAccent">@color/colorAccent</item>
<item name="android:background">@color/cpWhite</item>
<item name="textColorAlertDialogListItem">@color/colorPrimary</item>
<item name="android:textColorAlertDialogListItem">@color/colorPrimary</item>
</style>
(请注意,我已将 colorPrimary 和 colorAccent 设置为随主题变化)
这是它给出的输出: ListPreference 对话框外观
解决方案
回答我自己的问题:我忘了添加属性
<item name="android:alertDialogTheme">@style/DialogBoxTheme</item>
到 style.xml 中的 AppTheme。
推荐阅读
- laravel - Livewire 电线:点击,电线:模型不工作
- swift - 所有内置 xcode 的应用程序都因“终止原因:命名空间代码设计,代码 0x1”而崩溃
- javascript - Fabric JS组选择和缩放弄乱了单个对象的位置属性
- kdb - 从另一个命名空间访问 kdb 表
- r - 为数据框中的因子分配十六进制代码颜色
- c++ - 为什么不调用我的右值重载下标运算符
- vba - 通过 vba 宏进行 pip 安装
- mysql - 用于组合多个列的 SQL 查询
- java - Spring Initializr(一)如何使用?
- c# - htmlagilitypack c# - 在服务器上生成的输入表单、等待和加载输出