windowBackground和活动风格的背景有什么区别?

时间:2013-01-20 15:08:27

标签: android background styles android-activity android-theme

我通过在样式中使用“android:background”参数并将应用程序的主题设置为链接到此样式,为应用程序的所有活动设置了背景。

一切运作良好,直到我注意到对于带有项目列表的对话框,它使每个项目都具有完整的背景大小。

将用于“android:windowBackground”的参数更改后,在这种情况下似乎也能正常工作。

为什么会发生?两者有什么区别?

另外,将“android:windowBackground”设置为@null为written here提供与使用“android:background”相同的速度提升吗?

1 个答案:

答案 0 :(得分:24)

android:background是视图组件的背景颜色(可绘制得精确),而android:windowBackground是视图所在的窗口(活动或对话框)的背景颜色。

默认情况下,视图是透明的(即没有背景颜色),因此在视觉上看起来它们正在从底层窗口中获取颜色。

请注意您链接的文章如何将windowBackground设置为null,而不是全屏视图的背景。这是避免透支的常用技巧。

但是,如果您有一个视图完全隐藏另一个视图,则可以将相同的原则应用于视图。

示例:gist.github.com/floatingmonkey/5474959