我在我的应用程序中有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>
任何帮助将不胜感激,谢谢
答案 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>