如何更改 PreferenceThemeOverlay / PreferenceFragmentCompat 的样式

How to change style of PreferenceThemeOverlay / PreferenceFragmentCompat

我通过 AndroidFundamtentals Tutorial 09.2 (App Settings) 解决了自己的问题,但找不到解决问题的有效方法。

我想在我的应用程序中更改设置片段的样式(背景颜色)。

到目前为止,这就是我在 styles.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 的 parent 是错误的。 它将背景更改为光。
像这样更改样式的标题:

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

同时更改 Manifest.xml 文件中 activity 的主题。