Android: Girar animación volver a su estado real después de terminar la animación?
Voy a girar la imagen en Mi aplicación. Todo funciona bien con la rotación. Pero mientras que la animación de la rotación del i termina la imagen wil vuelve a su posición anterior. Quiero es que permanezca esa imagen a ese estado rotado y no para volver a su estado real.
Entonces, ¿cómo hacerlo posible? Para girar la imagen estoy usando código abajo:
- Las transiciones de elementos compartidos no funcionan cuando se combinan con un CoordinatorLayout y CollapsingToolbarLayout
- ¿Efecto de desplazamiento personalizado para scrollview?
- Traducir animación de arriba a la mitad de la pantalla
- Cómo se desvaneció un carácter único en un TextView
- Cómo encontrar la animación ha terminado de jugar en android
<?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0" android:toDegrees="30" android:duration="2000"> </rotate>
Y aplicarlo al ImgeView como:
myImageView.startAnimation(rotateRight);
Así que, ayúdame sobre esto.
- ¿Cómo animar un icono para la vista expand / collapse?
- ObjectAnimator.setDuration se ignora
- La vista desaparece cerca del final de la animación RotationY
- La animación de Android no está terminada en onAnimationEnd
- Android Gauge Animation Pregunta
- ¿Cómo mostrar la animación de progreso de carga para alguna imagen?
- Cómo especificar el atributo fromXType en el archivo anim xml
- Android: ¿Animación de Scroller?
Consulte ¿Cómo puedo animar una vista en Android y mantenerla en la nueva posición / tamaño?
Dentro de la etiqueta <set
, utilice
android:fillAfter="true" android:fillEnabled="true"
En general, la animación no altera las propiedades reales de la vista, sino que sólo la anima. Si desea cambiar las propiedades reales, use AnimationListener y escuche onAnimationEnd y realice los cambios usted mismo.
SetFillAfter y setFillEnable es la respuesta que necesita.
Primero obtenga una instancia de animación usando
Animation anim = AnimationUtils.loadAnimation(context, R.anim.animation);
"Animación de R.anim" se refiere a lo que sea su animación.
Poner un oyente de animación en esta animación utilizando.
anim.setAnimationListener
Haga que la vista sea visible en el método onAnimationCompleted () de AnimationListener.
Esto debería funcionar.