Повышение уровня панели приложений Android отображается в строке состояния

Как избавиться от повышения статуса в строке состояния? Если я установил в AppbarLayout для app: elevation значение 0dp, высота больше не отображается в строке состояния, но также не ниже AppbarLayout.

Как мне просто получить высоту под AppbarLayout?

Вот скриншот того, что я имею в виду: puush ​​link, обратите внимание на тень в строке состояния :(

Спасибо!


person Joestoen    schedule 15.11.2015    source источник
comment
Можете ли вы опубликовать тему вашей деятельности?   -  person Metwalli    schedule 16.11.2015
comment
У вас есть флаг рисования за статусбаром?   -  person Nikola Despotoski    schedule 26.11.2015
comment
Я не понимаю, что вы имеете в виду @NikolaDespotoski   -  person Joestoen    schedule 27.11.2015
comment
Поразило то, что так мало людей замечают этот вопиющий баг!   -  person anandbibek    schedule 14.12.2015


Ответы (1)


Нас беспокоит тень AppBarLayout, видимая, когда строка состояния прозрачна. Непрозрачная строка состояния не всегда возможна. Это происходит на Lollipop и выше только из-за динамического рендеринга теней. На Marshmallow неправильная тень выглядит еще хуже.

Лучшее решение

В вашем корневом макете всегда должно быть android:fitsSystemWindows="true", иначе ваш пользовательский интерфейс не будет отображаться за строкой состояния.

Теперь заверните AppBarLayout внутрь другого CoordinatorLayout с android:fitsSystemWindows="false". Это предотвратит переполнение тени в строке состояния.


Другие обходные пути (не рекомендуется)

В вашем стиле удалите statusBarColor:

<item name="android:statusBarColor">@android:color/transparent</item> 

Итак, ваша тема будет:

<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
</style>

Также вы можете просто сделать app: elevation = "0dp" в appbarlayout, но это также удалит тень внизу.

person anandbibek    schedule 14.12.2015
comment
Большое спасибо! Это работает. Вот образец для справки для всех остальных: gist.github.com/sahilshekhawat/170027d24fb. а> - person sahil shekhawat; 15.09.2016