La animación de la ventana superpone la barra de navegación en Android 5.0
Estoy implementando el patrón de diseño de la parte inferior del diseño de material en mi aplicación usando una subclase personalizada de Dialog
. El cuadro de diálogo se grava en la parte inferior de la pantalla y utiliza una ventana de traducción y escribe la animación:
<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>
En las versiones anteriores de Android, esto se ve muy bien (si digo yo mismo): el diálogo se desliza suavemente desde la parte inferior de la pantalla y desde debajo de la barra de navegación.
- Adición de efecto de ondulación a RecyclerView item
- En Android, cuando desliza para cambiar la pantalla de cómo mostrar una animación con ambas pantallas
- Cambiar el peso del diseño con una animación
- Expand / Collapse Animación de la barra de herramientas de Lollipop (Telegram app)
- La vista animada de Android fuera del fragmento se está recortando
Sin embargo, en la última imagen de vista previa 5.0, las animaciones de las ventanas suceden en la parte superior de la barra de navegación, por lo que el contenido del diálogo se superpone temporalmente a la navegación. Con este caso de uso particular se ve feo, extraño y distraer.
¿Hay algo que pueda establecer en mi tema o código para evitar esto?
- ¿Cómo puedo dibujar ItemDecoration correctamente cuando el elemento RecyclerView está animando su altura?
- Android: el salto de Listview a scrollview
- RecyclerView no se desplaza como se esperaba
- Animación de la actividad como google play store
- Cómo implementar la animación de texto de lista personalizada
- Animación de propiedades de Android: cómo aumentar la altura de la vista?
- Diapositiva de Android para responder como animación de ImageView
- Android arrastrar y volver a la actividad anterior como Facebook y Google Fotos
Simplemente utilice <item name="android:windowDrawsSystemBarBackgrounds">false</item>
para la actividad en la que muestre su diálogo. En este caso, su diálogo estará debajo de la barra de navegación durante la animación.
Desde el sitio web de desarrolladores de Android:
En esta versión, Android presenta un nuevo widget de la barra de herramientas. Esta es una generalización del patrón de barra de acción que le da mucho más control y flexibilidad. La barra de herramientas es una vista en la jerarquía como cualquier otra, facilitando la intercalación con el resto de las vistas, animándola y reaccionando a los eventos de desplazamiento. También puede configurarla como barra de acción de su actividad, lo que significa que las acciones del menú de opciones estándar se mostrarán en su interior.
Así que la barra de acción es ahora una vista en tu diseño, por eso la ventana emergente lo supera. También sé que introdujeron algunas propiedades de z-index, podría ser útil para usted.
- ¿Cómo puedo hacer que un SurfaceView sea más grande que la pantalla?
- Android: la notificación deja de actualizarse una vez que se ha actualizado durante un determinado número de veces en Kit-Kat