有没有一种方法来设置PreferenceFragmentCompat的样式

时间:2015-11-11 00:32:17

标签: android android-styles preferencefragment

标题说明了一切:我如何设置PreferenceFragmentCompat的样式。我的v14 / style.xml是

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:editTextStyle">@style/Widget.EditText.White</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay</item>
    </style>

    <style name="Widget.EditText.White" parent="@android:style/Widget.EditText">
        <item name="android:textColor">#ffffffff</item>
    </style>
</resources>

基本主题有黑色背景 - 首选项屏幕无法读取,因为我在黑色背景上有黑色文字。

我尝试了很多东西,但我无法改变文字颜色。

我必须做的是在设置片段处于活动状态时将片段容器背景颜色设置为白色。一个丑陋的黑客,而不是我想要做的。

2 个答案:

答案 0 :(得分:8)

回答我自己的问题:我的v14 / style.xml现在是

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:editTextStyle">@style/Widget.EditText.White</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
    </style>

    <style name="Widget.EditText.White" parent="@android:style/Widget.EditText">
        <item name="android:textColor">#ffffffff</item>
    </style>

    <style name="PreferenceThemeOverlay.v14">
        <item name="android:background">@color/settings_background</item>
        <item name="android:textColor">@color/settings_text_colour</item>
        <item name="android:textColorSecondary">@color/settings_text_colour_secondary</item>
    </style>
</resources>

我现在的问题是设置ListPreference的样式。

为什么这么难?如果有任何与样式偏好相关的文档,则会很好地隐藏。 Grrrrrr!

答案 1 :(得分:0)

看看README for github项目 Gericop/Android-Support-Preference-V7-Fix