2016-09-23 64 views
3

我创建一个自定义对话框主题,像这样:安卓:windowBackground不工作

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

但是当我再运行应用程序时,dialog背景是它的默认值(一个设备上的透明和黑色的另一种)。

但是如果我改变android:windowBackgroundandroid:background,为android:background正确的行为看出来了,在对话框中所有视图的默认背景变为指定的值,因为它应该。

将android:windowBackground的值更改为@drawable或@color作品。

我知道android:windowBackgroundandroid:background是什么区别,并且使用android:background不是我所需要的,因为我只想让窗口背景颜色发生改变。

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

+0

在使用这个主题? – Raghunandan

+0

在我的基本主题中,我声明 @ style/dialogLight Luke

+1

您希望更改对话框的背景。那么为什么你需要windoebackground?引用文档“例如,windowNoTitle和windowBackground是仅在样式被应用为活动或应用程序的主题时才有效的样式属性。” – Raghunandan

回答

-2

由于@Raghunandan解释说,Android的:windowBackground需要引用一个可绘制的,而不是一种颜色作为我做