更改列表偏好设置摘要文本的颜色和大小

11

我的应用中有一个listpreference,我想自定义它。我可以像下面这样为偏好设置活动设置主题:

 <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摘要文本的颜色或大小,有没有任何方法可以做到这一点,

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

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

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

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>
你可以选择你想要的颜色,老实说,在任何设置页面中我从未看到过第三色,但是第一色用于主要和大文字,第二色用于出现在第一色下面的小文字。
希望有所帮助。

摘要文本根据偏好使用“android:textColorTertiary”或“android:textColorSecondary”。 - Codeversed

2

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

我建议您将上面文件的内容复制并保存到您自己的项目中,编辑该文件以使其看起来符合您的要求(请勿更改任何ID),然后显示自定义列表首选项项布局。

您可以像这样在xml中应用自定义首选项布局:

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

我复制了链接并创建了布局,将其粘贴到其中,并按照您的说明引用它,但它没有起作用。 - androidqq6

2

我将这行代码放入styles.xml文件中,它已经生效:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接