android:windowBackground 不工作

android:windowBackground not working

我创建了一个自定义对话框主题,如下所示:

<style name="dialogLight" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowBackground">attr/theme_dialogBackground</item>
</style>

然而,当我 运行 应用程序时,dialog 背景是其默认背景(在一台设备上透明,在另一台设备上黑色)。

但是,如果我将 android:windowBackground 更改为 android:background,则会看到 android:background 的正确行为,并且对话框中所有视图的默认背景变为指定值,如应该。

将 android:windowBackground 的值更改为 @drawable 或 @color 可以正常工作。

我知道 android:windowBackgroundandroid:background 之间的区别是什么,使用 android:background 不是我需要的,因为我只想要 window 背景颜色改变。

那么为什么 android:windowBackground 没有被应用?

正如@Raghunandan 所解释的那样,android:windowBackground 需要引用可绘制对象,而不是像我所做的那样引用颜色