我正在搜索这几天,但找不到我能够立即开始工作的答案。
我想允许用户在列表中为整个应用选择不同的主题,用于白天/夜晚。 问题是我无法找到一种方法来更改ListPreference行Item textColor的文本颜色。我发现的一些解决方案是讨论使用属性
<item name="android:textColorPrimary">@color/red_color</item>
在样式中设置该文本。但是在我使用API 11的测试中这没有效果。我在多次尝试后获得的结果几乎总是相同的:当为应用程序设置不同的样式时,我可以更改ListPreference的标题颜色,但不能更改行项目文本颜色:< / p>
以下是截图:
这些是我正在使用的样式:
<!-- Application theme. -->
<style name="AppTheme.Daylight" parent="AppBaseTheme">
<item name="android:background">@color/white</item>
<item name="android:panelBackground">@color/gray</item>
<item name="android:textColor">@color/black</item>
</style>
<style name="AppTheme.Dusk" parent="AppBaseTheme">
<item name="android:background">@color/black</item>
<item name="android:panelBackground">@color/gray</item>
<item name="android:textColor">@color/salmon</item>
</style>
<style name="AppTheme.Night" parent="AppBaseTheme">
<item name="android:background">@color/black</item>
<item name="android:panelBackground">@color/gray</item>
<item name="android:textColor">@color/red</item>
</style>
这是显示首选项片段xml文件
<PreferenceCategory
android:title="@string/preference_display_settings"
android:key="display_preferences">
<ListPreference
android:key="display_mode"
android:title="@string/preference_display_settings"
android:entries="@array/preference_display_mode_available"
android:entryValues="@array/preference_display_mode_values" />
</PreferenceCategory>
基本上我问的问题是: - 如何更改ListPreference中条目文本颜色的颜色?
网络上的一些文章正在解释如何创建自定义ListPreference视图,例如本文Custom ListPreference
提前多多感谢,我是Android的新手,刚刚离开Coursera MOOC来创建这个开源应用程序。
答案 0 :(得分:5)
您可以在主题定义中更改属性android:textColorAlertDialogListItem
的值,如下所示。
<item name="android:textColorAlertDialogListItem">@color/white</item>
这对我有用。祝你好运!!