Gestión del orden z de ViewGroup para LayoutTransition, después de removeView
Estoy utilizando una LayoutTransition
con objetos personalizados de ObjectAnimator
para animar la adición y la eliminación de vistas dentro de un LinearLayout
(sí mismo dentro de un HorizontalScrollView
). Se agregan nuevas vistas a la derecha de las vistas anteriores. La única propiedad que se está animando es translationX
.
Me gustaría que una View
recién agregada saliera de debajo de la View
directamente anterior (animando de izquierda a derecha). Y, me gustaría que una View
recién eliminada retrocediera en la View
anterior (animación de derecha a izquierda).
- ListView ocupa todo el espacio en LinearLayout
- ¿Cómo acceder a recurso con nombre dinámico en mi caso?
- Android texto disposición pregunta: dos textviews, lado a lado, con diferentes alineaciones de diseño y pesos
- Botón medio ancho de la pantalla
- Cómo cambiar el cambio en el cambio de comportamiento del layout del elemento de lista entre sdk 17 y 18?
Anulé getChildDrawingOrder para devolver el orden z inverso, así:
@Override protected int getChildDrawingOrder( int childCount, int i ) { return childCount - 1 - i; }
Esto funciona muy bien para la animación que se produce al agregar vistas. No funciona cuando se eliminan las vistas. removeView()
se llama antes de getChildDrawingOrder()
; el ViewGroup
(o, en mi caso, LinearLayout
) ya no sabe acerca de la vista recién eliminada en el momento en que llega a calcular la orden z. El resultado es que la View
eliminada se anima en la parte superior de las otras vistas.
bringToFront()
y bringChildToFront()
parecen no hacer nada por mí.
Sé que puedo simplemente traducir la View
que deseo eliminar, y luego llamar a removeView()
. Pero esto derrota el propósito de usar LayoutTransitions.
¿Qué más puedo intentar, para asegurarme de que la eliminación de una View
todavía mantiene el orden z que deseo?
- Facebook LoginButton para Android no toma los valores de login_text y logout_text pasados de XML
- Dos diseños de marco en el ejemplo de FragmentTabs de Android Support4Demos
- LinearLayout añadir una vista encima de las otras vistas Android
- La función Auto Mirroring for RTL no funciona en las versiones de Android inferiores a 6.0
- Dibuja un círculo en el centro de la lona
- Cambiar el tamaño de los diseños de forma programática (como animación) hasta "wrap_content"
- Superponer imagen sobre otro android
- "... debe proporcionar un layout_height ..." pero es en mis recursos de estilo?
- Java / Android: no se puede ejecutar DX
- onPrepareSubMenu en un ActionProvider personalizado nunca llamado