我通过在样式中使用“android:background”参数并将应用程序的主题设置为链接到此样式,为应用程序的所有活动设置了背景。
一切运作良好,直到我注意到对于带有项目列表的对话框,它使每个项目都具有完整的背景大小。
将用于“android:windowBackground”的参数更改后,在这种情况下似乎也能正常工作。
为什么会发生?两者有什么区别?
另外,将“android:windowBackground”设置为@null为written here提供与使用“android:background”相同的速度提升吗?
答案 0 :(得分:24)
android:background
是视图组件的背景颜色(可绘制得精确),而android:windowBackground
是视图所在的窗口(活动或对话框)的背景颜色。
默认情况下,视图是透明的(即没有背景颜色),因此在视觉上看起来它们正在从底层窗口中获取颜色。
请注意您链接的文章如何将windowBackground
设置为null,而不是全屏视图的背景。这是避免透支的常用技巧。
但是,如果您有一个视图完全隐藏另一个视图,则可以将相同的原则应用于视图。