android - 如何更改 ListPreference 按钮颜色?
问题描述
我使用波纹管样式将对话框背景颜色更改为深色,在我使用的首选项页面中ListPreference
,应用此样式后,cancel
ListPreference 的按钮在对话框背景中消失了。
<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
和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>
推荐阅读
- git - git config 用户名和电子邮件自动设置为空白
- python - 清理 Pandas 市场摊位的销售数据;拆分行
- python - Python selenium webriver 错过了元素而没有给出任何错误
- c - 将字符串转换为双精度,答案是正确的,但不是很准确
- java - 用 Java 将 [chained] CompletableFutures 写入 CSV
- c# - 在 .Net 5 Core Web 应用程序中,有没有办法在 AppPool 回收后持久登录用户的会话?
- image-processing - 如何将高斯的拉普拉斯算子用于椭圆斑点?
- javascript - 删除单词和周围的换行符
- javascript - 如何添加与 js 之间有空格的属性?
- reactjs - 在 React 中使用 Chart.js 对折线栏产生辉光效果