Изменение цвета строки состояния на устройстве HUAWEI не работает (уровень API 22)

После тестирования моего приложения на 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);
    } 
}

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


person Community    schedule 02.01.2017    source источник


Ответы (1)


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

Huawei не реализовала Lollipop 5.1.1 в EMUI 3.1, или, скорее, из того, что я узнал от других пользователей и разработчиков (см. status-bar-lollipop-5-1-1-emui-t3216288" rel="nofollow noreferrer">здесь, например), он реализован непоследовательно, так как разные приложения могут вызывать непредсказуемые эффекты, такие как тот, который вы описываете. Этот ответ предлагает решение на стороне пользователя, но я не могу найти ничего, что позволило бы разработчику применять цвет.

person Ger    schedule 26.03.2017