有没有办法设置 PreferenceFragmentCompat 的样式

Is there a way to style PreferenceFragmentCompat

标题说明了一切:如何设置 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>

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

我尝试了很多方法,但无法更改文本颜色。

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

回答我自己的问题:我的 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 的样式。

为什么这么难?如果有任何与样式首选项相关的文档,它会被隐藏得很好。呜呜呜!

查看 github 项目的自述文件 Gericop/Android-Support-Preference-V7-Fix