Android 如何更改ListPreference按钮的颜色?
我使用贝娄样式将对话框背景颜色更改为深色,在首选项页面中使用ListPreference,应用此样式后,ListPreference的取消按钮在对话框背景中消失Android 如何更改ListPreference按钮的颜色?,android,android-styles,listpreference,material-components-android,Android,Android Styles,Listpreference,Material Components Android,我使用贝娄样式将对话框背景颜色更改为深色,在首选项页面中使用ListPreference,应用此样式后,ListPreference的取消按钮在对话框背景中消失 <style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight"> <item name="colorPrimary">#212D3B</item> <item name="colorPrimaryDark
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
<item name="colorPrimary">#212D3B</item>
<item name="colorPrimaryDark">#172331</item>
<item name="colorAccent">#61A3D7</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:dialogTheme">@style/AppTheme.Dialog</item>
<item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
</style>
<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">#212D3B</item>
<item name="colorPrimary">#61A3D7</item>
<item name="colorPrimaryDark">#8DB2D3</item>
<item name="colorAccent">#61A3D7</item>
</style>
有没有办法改变这个按钮的颜色
最后我找到了解决办法。我不明白android:alertDialogTheme和没有android:alertDialogTheme的alertDialogTheme之间有什么不同,但首选项屏幕使用alertDialogTheme来设置对话框的样式。 通过向AppThemeBase添加以下项,我的问题得到了解决
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
<style name="AppThemeBase" parent="Theme.MaterialComponents.DayNight">
<item name="colorPrimary">#212D3B</item>
<item name="colorPrimaryDark">#172331</item>
<item name="colorAccent">#61A3D7</item>
<item name="android:textColorPrimary">#FFFFFF</item>
<item name="android:dialogTheme">@style/AppTheme.Dialog</item>
<item name="android:alertDialogTheme">@style/AppTheme.Dialog</item>
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
</style>
<style name="AppTheme.Dialog" parent="Theme.MaterialComponents.DayNight.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">#212D3B</item>
<item name="colorPrimary">#61A3D7</item>
<item name="colorPrimaryDark">#8DB2D3</item>
<item name="colorAccent">#61A3D7</item>
</style>