4

HUAWEI Y538上测试我的应用程序后,我注意到一些奇怪的事情:状态栏显示出奇怪的渐变,而不是我想要的颜色。我有一个非常直接的方法来在我的基本活动类中设置状态栏,如下所示:

protected void setStatusBarColor(int color) {
    Window window = getWindow();
    if (Build.VERSION.SDK_INT > 20) {
        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        window.setStatusBarColor(color);
    } 
}

但是,由于某种原因,这不适用于华为手机。有没有人知道为什么会发生这种情况。提前致谢!!

4

1 回答 1

2

这是手机操作系统的问题,对此您无能为力。

华为没有在 EMUI 3.1 中实现 Lollipop 5.1.1,或者更确切地说,从我从其他用户和开发者那里收集到的信息(例如,参见这里),它没有一致地实现,因为不同的应用程序可能会导致不可预知的影响,比如你的那个描述。这个答案在用户端提供了一个解决方案,但我找不到任何允许开发人员强制执行颜色的东西。

于 2017-03-26T07:18:48.697 回答