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

Kev*_*ert 7 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>
Run Code Online (Sandbox Code Playgroud)

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

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

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

Kev*_*ert 9

回答我自己的问题:我的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>
Run Code Online (Sandbox Code Playgroud)

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

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

  • 现在是 2020 年,我可以找到完全零的方法来设置首选项的文本颜色(默认为黑色,我在任何地方都没有使用)。又一整天都陷入地狱。再次感谢安卓。我第三个你的 Grrrrr!&gt;:-( (3认同)