2017-01-02 16 views
3

После тестирования моего приложения на HUAWEI Y538, я заметил что-то странное: строка состояния показывает странный градиент, а не цвет я предназначенный , У меня есть довольно прямой методики для установки строки состояния в моем классе базовой деятельности, которая заключается в следующем:Изменения строки состояния цвета на HUAWEI устройстве не работает (уровень API 22)

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); 
    } 
} 

Хотя, по некоторым причинам, это не работает на телефоне HUAWEI. Кто-нибудь знает, почему это может произойти. Заранее спасибо!!

ответ

1

Это недостаток ОС на вашем телефоне, и вы не можете этого сделать.

Huawei не реализовал Lollipop 5.1.1 в EMUI 3.1, или, скорее, из того, что я собираю от других пользователей и разработчиков (см., Например, here), он не реализован последовательно, поскольку различные приложения могут вызывать непредсказуемые эффекты, такие как как тот, который вы описываете. This answer предлагает решение на стороне пользователя, но я не могу найти что-либо, что позволяет разработчику обеспечивать соблюдение цвета.