Оконная анимация перекрывает навигационную панель на Android 5.0

Я внедряю шаблон дизайна нижнего листа в своем приложении с использованием пользовательского подкласса Dialog. Диалог тянется к нижней части экрана и использует окно ввода y-трансляции:

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:interpolator/decelerate_cubic">
    <translate android:fromYDelta="100%"
        android:toYDelta="0"
        android:duration="250" />
</set>

В более ранних версиях Android это выглядит великолепно (если я так говорю): диалог плавно скользит в нижней части экрана и от под панель навигации.

Однако в последнем предварительном просмотре 5.0 анимация окна происходит на верхней панели навигации, поэтому содержимое диалогового окна временно перекрывает навигацию. В этом конкретном случае использования он выглядит уродливым, странным и отвлекающим.

Есть ли что-нибудь, что я могу установить в своей теме или коде, чтобы это предотвратить?

Ответы

Ответ 1

Просто используйте <item name="android:windowDrawsSystemBarBackgrounds">false</item> для активности, где вы показываете свое диалоговое окно. В этом случае во время анимации ваш диалог будет находиться под панелью навигации.

Ответ 2

С сайта разработчиков Android:

В этом выпуске Android представляет новый виджет панели инструментов. Это обобщение шаблона Action Bar, которое дает вам больше контроля и гибкости. Панель инструментов представляет собой представление в вашей иерархии, как и любое другое, что упрощает чередование с остальными вашими представлениями, оживляет его и реагирует на события прокрутки. Вы также можете установить его как панель действий Activitys, что означает, что в нем будут отображаться ваши действия в стандартном меню.

Итак, панель действий теперь представляет собой представление в вашем макете, поэтому всплывающее окно просматривает его. Я также знаю, что они ввели некоторые свойства z-index, это может быть полезно для вас.