11

我的应用程序中有 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>   

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

4

3 回答 3

12

也许现在回答为时已晚,但请尝试删除您的颜色线

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

您可以为所有这些选择您想要的颜色,老实说,我从未在任何偏好页面中看到第三颜色,但主要用于主要和大文本,次要用于出现在主要下方的小文本。

希望能帮助到你。

于 2014-01-31T13:35:11.037 回答
2

我将这一行放入 styles.xml 中,它可以工作:

    <item name="android:textColorSecondary">#00CC00</item>
于 2013-07-18T10:10:56.863 回答
2

这很糟糕,因为 xml 文件说它使用 textColorSecondary 作为摘要颜色

我建议您将上述文件的内容复制并保存到您自己的项目中,编辑该文件以使其看起来像您想要的那样(记住不要更改任何 ID),并显示自定义列表首选项布局。

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

<ListPreference
    android:key="pref_key"
    android:title="@string/my_list_preference"
    android:layout="@layout/custom_list_preference" />
于 2013-07-17T02:24:18.950 回答