ListPreference项目行文本颜色

时间:2014-04-17 02:50:11

标签: android textcolor listpreference

我正在搜索这几天,但找不到我能够立即开始工作的答案。

我想允许用户在列表中为整个应用选择不同的主题,用于白天/夜晚。 问题是我无法找到一种方法来更改ListPreference行Item textColor的文本颜色。我发现的一些解决方案是讨论使用属性

<item name="android:textColorPrimary">@color/red_color</item>

在样式中设置该文本。但是在我使用API​​ 11的测试中这没有效果。我在多次尝试后获得的结果几乎总是相同的:当为应用程序设置不同的样式时,我可以更改ListPreference的标题颜色,但不能更改行项目文本颜色:< / p>

以下是截图:

Screenshot

这些是我正在使用的样式:

<!-- 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

  • 创建curstom视图是改变文本颜色的唯一方法,还是我缺少ListPreference视图的属性或属性?

提前多多感谢,我是Android的新手,刚刚离开Coursera MOOC来创建这个开源应用程序。

1 个答案:

答案 0 :(得分:5)

您可以在主题定义中更改属性android:textColorAlertDialogListItem的值,如下所示。

<item name="android:textColorAlertDialogListItem">@color/white</item>

这对我有用。祝你好运!!