Cómo restablecer ObjectAnimator a su estado inicial?
Quiero vibrar una vista con scaleX y scaleY, y lo estoy haciendo con este código, pero el problema es que a veces la vista no se restablece correctamente, y se muestra con la escala aplicada ….
Quiero que cuando la animación termina, la vista debe ser visto con su estado original allways
- Uso de fragmento anidado y objeto animador al lado
- ¿Es posible cambiar el valor final de ObjectAnimator con la animación iniciada?
- ¿Cómo puedo probar el código de Android que tenga View Animators?
- Intenta invocar método de interfaz 'void android.support.v7.widget.DecorContentParent.setWindowCallback (android.view.Window $ Callback)'
- Cómo quitar el final lento de la animación con ObjectAnimator?
Este es el código:
ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 1f, 0.9f); scaleX.setDuration(50); scaleX.setRepeatCount(5); scaleX.setRepeatMode(Animation.REVERSE); ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 1f, 0.9f); scaleY.setDuration(50); scaleY.setRepeatCount(5); scaleY.setRepeatMode(Animation.REVERSE); set.play(scaleX).with(scaleY); set.start();
Gracias
- ¿Cómo utilizar Fragments y objectAnimator en versiones anteriores de Android?
- ObjectAnimator onAnimationEnd se escucha antes de que termine la animación
- Ancho de la vista no cambiado después de la escala ObjectAnimator
- Android ObjectAnimator anima la traducciónY misma proporción en todos los tamaños de pantalla
- Imagen de Android se desvanece animación
- Fragmento: Nombre de animación desconocido objectanimator
- Cómo configurar ProGuard para omitir métodos con SupressWarning ("unused")
- Android - Animación de zoom utilizando AnimatorSet
Para ValueAnimator y ObjectAnimator puede ser como este un intento:
animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { animation.removeListener(this); animation.setDuration(0); ((ValueAnimator) animation).reverse(); } });
Puede agregar un AnimatorListener, para ser notificado cuando termine la animación:
scaleY.addListener(new AnimatorListener() { @Override public void onAnimationEnd(Animator animation) { // TODO Restore view } @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } });
- Kotlin y conexión de datos de Android
- Transferir archivos de android a computadora vía usb programáticamente