android:windowBackground和android:colorBackground之间的区别是什么?

54

android:windowBackground和android:colorBackground有什么区别?

示例:

<style name = "theme">
 <item name ="android:windowBackground">@color/black</item>
 <item name ="android:colorBackground">@color/black</item>
</style>

哪一个会影响你在加载新活动时所看到的颜色?

2个回答

70

windowBackground 只影响主窗口的背景。

colorBackground 影响不仅主窗口的背景,而且所有组件(如对话框)的背景,除非在组件布局中覆盖它。

因此,两者都可以改变活动的背景,但colorBackground 还会改变更多东西。


8
windowBackground是只有在样式作为主题应用到Activity或应用程序时才有效的样式属性,android:windowBackground属性只支持对另一个资源的引用。与android:colorBackground不同的是,它不能给定颜色文字。也就是说,windowBackground的值必须是引用颜色。详情请参考:http://developer.android.com/guide/topics/ui/themes.html
<item name="android:windowBackground">@color/red</item>

但是对于 backgroundColor,您可以使用文字:

<item name="android:colorBackground">#ff0000</item>

4
那跟colorBackground有什么不同呢?那colorBackground是在做什么?我已经阅读了那份文档,但我认为它没有回答我所提出的问题。谢谢你的回答! - JabKnowsNothing
1
好吧,我想我表达得不太清楚,因为我真正不理解的是 android:colorBackground 的作用。所以我原来的问题应该是“设置 android:windowBackground 和设置 android:colorBackground 分别是什么,它们有什么区别?”您已经回答了它们的使用差异,但我仍然不确定它们的用途以及它们实际上的区别。 - JabKnowsNothing
似乎android:colorBackground不再接受颜色字面量。我刚下载了Android Studio,建立了一个新项目,目标版本为Android 4.0.3,并尝试将android:colorBackground设置为颜色字面量。但是无法设置颜色。然而,将其设置为颜色资源确实按预期工作。 - jgoldberger - MSFT
@jgoldberger-MSFT,此外,Sina提供的链接中不再提到android:colorBackground - Vadim Kotov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接