Изменить список предпочтений Сводка цвета и размера текста

У меня есть 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 ответа

Может быть, уже слишком поздно, чтобы ответить, но попробуйте удалить цветную линию:

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

Вы можете выбрать цвет, который вы хотите, для всех тех, честно говоря, я никогда не видел третичный цвет на любой странице предпочтений, но основной для основного и большого текста, вторичный для маленького текста появляется ниже основного.

Надеюсь, поможет.

Я поместил эту строку в styles.xml, и она работает:

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

Это отстой, потому что XML-файл говорит, что он использует textColorSecondary для итогового цвета.

Я бы порекомендовал вам скопировать и сохранить содержимое файла выше в свой собственный проект, отредактировать этот файл так, как вы этого хотите (не забудьте изменить идентификаторы), и отобразить пользовательский макет элемента предпочтений списка.

Вы можете применить пользовательский макет предпочтений в XML следующим образом:

<ListPreference
    android:key="pref_key"
    android:title="@string/my_list_preference"
    android:layout="@layout/custom_list_preference" />
Другие вопросы по тегам