Theme.MaterialComponents的ScrimBackground无法正常工作

时间:2018-12-01 15:55:59

标签: android background android-alertdialog material-components-android material-theme

我正在尝试更改打开对话框时显示的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>

1 个答案:

答案 0 :(得分:1)

Material code似乎没有使用此属性,即使它已定义。 This issue跟踪了此问题。同时,您可以使用Changing default Android fade/scrim color when calling a Dialog中的建议在没有“实质主题”的情况下进行更改。