我正在尝试更改打开对话框时显示的scrimBackground。而且我知道在新的MaterialComponents-Theme中,这种情况是一个属性(scrimBackground)。但这目前对我不起作用。
在material.io网站上,背景也被描述为scrimBackground,看起来它是可以从主题中自定义的。有人知道我在做什么错吗?
https://material.io/design/components/dialogs.html#theming
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="scrimBackground">@android:color/holo_blue_light</item>
<item name="dialogTheme">@drawable/window_scrim</item>
<item name="android:dialogTheme">@style/DialogTheme</item>
<item name="alertDialogTheme">@style/AlertDialogTheme</item>
<item name="android:alertDialogTheme">@style/AlertDialogTheme</item>
</style>
<style name="DialogTheme" parent="Theme.MaterialComponents.Dialog">
<item name="scrimBackground">@drawable/window_scrim</item>
</style>
<style name="AlertDialogTheme" parent="Theme.MaterialComponents.Dialog.Alert">
<item name="scrimBackground">@drawable/window_scrim</item>
</style>
答案 0 :(得分:1)
Material code似乎没有使用此属性,即使它已定义。 This issue跟踪了此问题。同时,您可以使用Changing default Android fade/scrim color when calling a Dialog中的建议在没有“实质主题”的情况下进行更改。