更改列表首选项摘要文本颜色和大小

时间:2013-07-17 00:25:33

标签: android listpreference

我在我的应用程序中有listpreference,我想自定义它,我可以将主题设置为prefs活动如下:

 <activity 
     android:name=".Prefs" 
     android:label="@string/app_name" 
     android:theme="@style/PreferencesTheme">

偏好风格:

<?xml version="1.0" encoding="utf-8" ?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android">
 <style name="PreferencesTheme" parent="android:Theme">
 <item name="android:background">#FFDAB9</item> 
 <item name="android:textColor">@color/red_color</item> 
 <item name="android:textSize">20sp</item> 
</style>
</resources>

以上样式更改了ListPreference背景和ListPreference标题文本大小和文本颜色它不会以任何方式更改ListPreference摘要文本颜色或大小,

我试过这段代码,但它不起作用:

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

任何帮助将不胜感激,谢谢

3 个答案:

答案 0 :(得分:11)

回答可能为时已晚,但尝试删除您的颜色

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

并添加适用于主要,次要和第三色的

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

你可以选择你想要的所有颜色,老实说,我从来没有在任何首选页面看过三级颜色,但主要是主文本和大文本,次要是小文本出现在主要文本下面。

希望它有所帮助。

答案 1 :(得分:2)

That sucks because the xml file says it uses textColorSecondary for the summary color

我建议您将上述文件的内容复制并保存到您自己的项目中,编辑该文件以查找您希望的方式(请记住不要更改任何ID),并显示自定义列表首选项项目布局。

您可以在xml中应用自定义首选项布局,如下所示:

<ListPreference
    android:key="pref_key"
    android:title="@string/my_list_preference"
    android:layout="@layout/custom_list_preference" />

答案 2 :(得分:2)

我把这行放到styles.xml中,它可以工作:

    <item name="android:textColorSecondary">#00CC00</item>