Mostrar y ocultar una Vista con una animación de deslizamiento hacia arriba/abajo
Tengo un LinearLayout
que quiero mostrar u ocultar con una Animación
que empuja el layout hacia arriba o hacia abajo cada vez que cambio su visibilidad.
He visto algunos ejemplos por ahí pero ninguno se ajusta a mis necesidades.
He creado dos archivos xml para las animaciones pero no sé cómo iniciarlas cuando cambio la visibilidad de un LinearLayout
.
287
3
Con la nueva API de animación que se introdujo en Android 3.0 (Honeycomb) es muy sencillo crear dichas animaciones.
Deslizar una
Vista
hacia abajo por una distancia:Más tarde puede deslizar la
Vista
de vuelta a su posición original así:También puede combinar fácilmente varias animaciones. La siguiente animación deslizará una
Vista
hacia abajo por su altura y la desvanecerá al mismo tiempo:A continuación, puede desvanecerse la "Vista" de nuevo y deslizarla de nuevo a su posición original. También establecemos un
AnimatorListener
para poder devolver la visibilidad de laVista
aGONE
una vez que la animación haya terminado:Puedes iniciar la
Animación
correcta cuando la visibilidad delLinearLayout
cambia creando una nueva subclase deLinearLayout
y anulandosetVisibility()
para iniciar lasAnimaciones
. Considera algo como esto: