Meizu PRO 6上的状态栏颜色设置不正确

rep*_*tch 5 android background colors statusbar

我在Meizu PRO 6/android 6.0中遇到了设备特有的问题

我尝试通过colorPrimaryDark在我的主题文件中定义来设置statusBar颜色

当我把它设置为#FF0000(红色)它工作正常 魅族PRO 6 /#FF0000

但是当我把它设置为#000000(黑色)它不适用(如你所见,颜色是相同的colorPrimary) 魅族PRO 6 /#000000

LG Nexus 5x上运行相同的代码: Nexus 5x /#000000

这可能会出错?它是如何修复的?

假设当前设备对statusBar有一些颜色过滤,也许它只允许比colorPrimary这样的颜色更轻的颜色......

小智 0

问题是魅族有自定义启动器和它自己的实现。

为我

getWindow().setStatusBarColor(color);
actionBar.setBackgroundDrawable(new ColorDrawable(color));
Run Code Online (Sandbox Code Playgroud)

工作正常。但是当我尝试在尚未聚焦的活动中使用它时,它不起作用。

但这个解决方法(见下面的片段)是有效的。当您的活动有焦点时只需更新颜色

 @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus) {
          //... your code for colorization
        }
 }
Run Code Online (Sandbox Code Playgroud)