android:windowBackground 和 android:colorBackground 之间的区别?

Posted

技术标签:

【中文标题】android:windowBackground 和 android:colorBackground 之间的区别?【英文标题】:Difference between android:windowBackground and android:colorBackground? 【发布时间】:2014-12-03 15:55:35 【问题描述】:

android:windowBackgroundandroid:colorBackground 有什么区别?

例子:

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

哪一个会影响加载新 Activity 时您看到的颜色?

【问题讨论】:

【参考方案1】:

windowBackground 只影响主窗口的背景。

colorBackground 不仅影响主窗口的背景,还影响所有组件,例如除非您在组件布局中覆盖它。

所以它们都改变了活动的背景,但是colorBackground 也改变了更多的东西。

【讨论】:

【参考方案2】:

windowBackground 是样式属性,仅当样式作为主题应用于 Activity 或应用程序并且 android:windowBackground 属性仅支持对另一个资源的引用时才有效;与 android:colorBackground 不同,它不能被赋予颜色文字

http://developer.android.com/guide/topics/ui/themes.html

编辑: 即 windowBackground 的值必须是引用的颜色:

<item name="android:windowBackground">@color/red</item>

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

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

【讨论】:

这与 colorBackground 有何不同?那么 colorBackground 在做什么呢?我已经阅读了该文档,但我认为它不能回答我提出的问题。不过感谢您的回答! 好吧,我想我的问题问得不好,因为我真的不明白 android:colorBackground 在做什么。所以我想我最初的问题应该是“设置android:windowBackgrounddo 和设置android:colorBackground 做什么?它们有什么不同吗?”您已经回答了它们如何使用之间的区别,但我仍然不确定它们的用途,以及它们实际用途之间的区别。 似乎 android:colorBackground 不能再采用颜色文字了。我刚刚下载了一个 Android Studio,设置了一个针对 Android 4.0.3 的新项目,并尝试将 android:colorBackground 设置为颜色文字。设置颜色不起作用。但是,将其设置为颜色资源确实可以按预期工作。 @jgoldberger-MSFT 另外,新浪提供的链接中不再提及android:colorBackground

以上是关于android:windowBackground 和 android:colorBackground 之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章

Android 12.0 适配——应用启动动画

Android闪屏Activity实现秒开

android实现以activity方式的dialog对话框

自定义Dialog

Android 启动白屏或者黑屏闪现解决

android 设置初始页面背景变形了