如何更改 PreferenceThemeOverlay / PreferenceFragmentCompat 的样式

问题描述

我自己解决AndroidFundamtentals Tutorial 09.2 (App Settings),但找不到解决问题的可行解决方案。

我想在我的应用中更改 Settings-Fragment 的样式(背景颜色)。

到目前为止,这就是我在 style.xml 中编写的代码

    <style name="AppThemeWithActionBar" parent="Theme.AppCompat.DayNight.DarkActionBar">
        <item name="colorPrimary">@color/cr_blue_dark2</item>
        <item name="colorPrimaryDark">@color/cr_blue_dark</item>
        <item name="colorAccent">@color/cr_green</item>
<!-- more styles-->
        <item name="preferenceTheme">@style/AppTheme.SettingsScreen</item>
    </style>
    
    
    
    <style name="AppTheme.SettingsScreen" parent="PreferenceThemeOverlay">
        <item name="backgroundColor">@color/cr_black</item>
        <item name="background">@color/cr_black</item> <!--one of these should make the background black-->
    </style>

代码不会更改设置片段的背景颜色。

如果您需要更多代码,请写评论。 :)

解决方法

我刚刚找到了解决方案/错误。 样式 AppThemeWithActionBar 的父项是错误的。 它将背景更改为浅色。
像这样更改样式的标题:

 <style name="AppThemeWithActionBar" parent="Theme.MaterialComponents">

还要更改 Manifest.xml 文件中活动的主题。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...