【问题标题】:How to change ListPreference button colors?如何更改 ListPreference 按钮颜色?
【发布时间】:2019-08-25 12:44:07
【问题描述】:
我使用波纹样式将对话框背景颜色更改为深色,在首选项页面中我使用ListPreference 并应用此样式后,ListPreference 的cancel 按钮在对话框背景中消失了。
<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
android-styles
listpreference
material-components-android
【解决方案1】:
终于找到了解决办法。我不明白android:alertDialogTheme 和alertDialogTheme(没有android:)之间有什么不同,但偏好屏幕使用alertDialogTheme 来设计对话框的样式。
通过在AppThemeBase 中添加以下项目,我的问题得到了解决。
<item name="alertDialogTheme">@style/AppTheme.Dialog</item>
最终AppThemeBase:
<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>