我已使用以下元素为我的应用程序定义了基本样式:
<item name="android:windowBackground">@color/window_background</item>
为我的所有活动设置了背景颜色,直到我在Android 6上测试我的应用程序,其中所有背景都是白色的。在运行前棉花糖的设备上,背景仍然是color / window_background。
任何人都知道如何在Android 6上完成这项工作(或者它无法正常工作)?
使用更多信息进行修改: 我的目标是API 22,我没有改变以前版本的任何内容或升级API,只是在Android 6上运行会改变背景。
答案 0 :(得分:2)
我还没有发现任何特定于棉花糖的东西会引起这种情况。所以我的建议是:
将背景颜色资源更改为可绘制的形状资源。
自:
<item name="android:windowBackground">@color/window_background</item>
致:
<item name="android:windowBackground">@drawable/window_background</item>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@color/window_background"/>
</shape>
如果您没有检查所有观看次数的不透明度:
确保你的windowBackground实际上是大多数的背景 你的活动(特别是在可透过的部分,透支过度 是最重要的避免),删除不透明的视图背景 在可能的情况下。
我觉得这很有趣,看看如何设置背景图层的优先级。我不确定您是否设置了任何视图背景或如何设置应用程序,但这值得一读。
背景由几个层组成,从后到前:
- 背景Drawable主题
- 纯色(通过setColor(int)设置)
- 两个Drawables,previous和current(通过setBitmap(Bitmap)设置或setDrawable(Drawable)),可能正在转换
Make your windowBackground work for you instead of using null
我无法发现Marshmallow中的主题或元素的顺序是否存在差异,似乎没有根本性的变化,我找不到任何错误。
我希望这会有所帮助,让我知道,我可以再看看。
如果这没有帮助,可能值得发布一些与问题相关的更多代码。欢呼声。
答案 1 :(得分:1)
我曾经遇到过同样的问题,但是我发现,如果我在我的风格中评论actionBarTheme
,它会突然开始工作。我深入研究了我的风格,发现动作栏的风格在评论完所有内容之后设置了android:background
属性。所有内容都按预期运行。
答案 2 :(得分:0)
如果您使用的是Android Studio 1.4或更高版本,请转到主题所在的样式,然后点击右上角的“打开编辑器”。然后在那里更改窗口背景。它应该在“android:colorBackground”
下答案 3 :(得分:0)
如何设置windowBackground
和colorBackground
<item name="android:windowBackground">@color/window_background</item>
<item name="android:colorBackground">@color/window_background</item>