如何解决如何找出 AlertDialog 使用的主题?
我在我的应用中使用“Theme.MaterialComponents.Light”。当我想要一些全局元素(按钮、浮动操作按钮、cardview 等)的自定义样式时,我在布局中打开所需元素的设计模式,我可以看到特定元素使用了什么主题,然后我去主题。 MaterialComponents.Light,搜索主题,将其添加到我自己的主题(覆盖 Theme.MaterialComponents.Light),基于该主题制作我自己的主题并在应用程序主题中覆盖它。如何为 AlertDialog 全局执行此操作?我知道如果我创建它,我可以在 AlertDialog.Builder 的调用中指定主题。但是如果某个第三方库生成了它并且我无法更改它的调用怎么办?如何强制所有内容都使用一个自定义主题,就像我使用视图一样?我试图找到对此负责的主题,但没有成功。我覆盖了它(我将在下面附上),但它不起作用。
//Base application theme
<style name="AppTheme" parent="Theme.MaterialComponents.Light">
//Are they responsible for AlertDialogs or I'm wrong?
<item name="alertDialogTheme">@style/AlertDialog</item>
<item name="materialAlertDialogTheme">@style/AlertDialog</item>
</style>
//My custom theme,which doesn't override global AlertDialogs
<style name="AlertDialog" parent="Theme.MaterialComponents.Light.Dialog.Alert">
<!-- Base colors -->
<item name="android:textColorPrimary">#EEEEEE</item>
<item name="colorControlNormal">#FFF</item>
<item name="colorControlActivated">#FF0000</item>
<item name="textColorAlertDialogListItem">#FFF</item>
<!-- Button styles -->
<item name="buttonBarPositiveButtonStyle">@style/YDialogPositiveButton</item>
<item name="buttonBarNegativeButtonStyle">@style/YDialogNegativeButton</item>
<item name="buttonBarNeutralButtonStyle">@style/YDialogNeutralButton</item>
<!-- Sizes -->
<item name="android:lineSpacingExtra">2dp</item>
<item name="android:textSize">20sp</item>
<item name="android:windowTitleStyle">@style/YDialogTitleTextAppearance</item>
</style>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。