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:windowBackground
和 android:background
之间的区别是什么,使用 android:background
不是我需要的,因为我只想要 window 背景颜色改变。
那么为什么 android:windowBackground
没有被应用?
正如@Raghunandan 所解释的那样,android:windowBackground 需要引用可绘制对象,而不是像我所做的那样引用颜色
我创建了一个自定义对话框主题,如下所示:
<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:windowBackground
和 android:background
之间的区别是什么,使用 android:background
不是我需要的,因为我只想要 window 背景颜色改变。
那么为什么 android:windowBackground
没有被应用?
正如@Raghunandan 所解释的那样,android:windowBackground 需要引用可绘制对象,而不是像我所做的那样引用颜色