Android slide down animación
Tengo una barra de herramientas alineada en la parte inferior y un WebView por encima de ella, que llenar la altura restante. Ahora quiero deslizar abajo de la barra de herramientas para ocultarlo, y mientras que está animando la altura de la visión de la tela se debe ampliar. He intentado usar TranslateAnimation pero unfortunetely no está ajustando la posición verdadera de la barra de herramientas, solamente su contenido se mueve. Esto es lo que intenté:
<translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromXDelta="0%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="100%" android:duration="700" android:fillAfter="true" />
Y el código real:
- Cómo implementar un deslizamiento de una vista (como feed de noticias en la aplicación de Facebook)
- Cómo obtener una vista desde un evento de coordenadas en android?
- Java.lang.InstantiationException: no se puede instanciar class: no hay constructor vacío
- Zoom centrado en la vista personalizada - calculando las coordenadas de lienzo
- Cómo obtener Referencia de actividad en la clase View?
final View v = findViewById(R.id.browseToolbar); Animation animation = AnimationUtils.loadAnimation(someContext, R.anim.toolbar_hide); v.startAnimation(animation);
¿Cómo puedo hacerlo?
- ¿Examinar todas las sub-vistas de una vista de Android?
- Bitmap de TextView (getDrawingCache) siempre nulo
- Android: ¿es eficiente almacenar referencias a Views como variables miembro?
- ¿Cuál es el propósito principal de los métodos setTag () getTag () de View?
- Android - Descripción de View.getLocalVisibleRect (Rect)
- ¿Cómo puedo implementar esta vista en Android?
- Sobreescribiendo el método onScroll del com.android.View en la codificación android?
- Android.view.InflateException: Línea de archivo XML binario # 33: Error al inflar la clase
Escribí código para hacer animaciones de tamaño real. Echar un vistazo:
http://www.touchlab.co/blog/resize-animation/
También mirar una presentación que hice en la animación de Android
https://docs.google.com/present/view?id=djqv5kb_187c62jvbf7
Esencialmente, como se mencionó anteriormente, las clases de animación regular sólo afectan a lo que hay en su vista principal. La clave para entenderlos es que no son "reales". Piensa en la animación de Android como un espejismo. Si ejecuta la aplicación de ejemplo que creé, diga que hace una animación de escala y hace que un botón sea más pequeño, si hace clic fuera, donde está el botón USED, sigue siendo registrado como un clic de botón. Las animaciones de Android no afectan realmente a los límites y dimensiones reales.
Lo que el código en mi blog, básicamente, es implementar un ViewGroup.OnHierarchyChangeListener. Cuando se agrega o quita material de la jerarquía, el contenedor anima un cambio de tamaño físico.
Cuando se utiliza la animación de Android sólo los píxeles de la vista se desplazan. Para mover realmente la vista, necesitará agregar un oyente de animación al objeto de animación y anular el método onAnimationEnd. En ese método necesita mover la vista de forma programática.
AnimationListener animListener = new AnimationListener() { @Override public void onAnimationStart(Animation arg0) {} @Override public void onAnimationRepeat(Animation arg0) {} @Override public void onAnimationEnd(Animation arg0) { Move the view here } }; animation.setAnimationListener(animListener);