Animación de escala de Android con interpolador de rebote
Estoy haciendo una animación de escala con anim xml
como sigue. El interpolador de animación no funciona. Estoy tratando de tener interpolador de rebote, pero no está funcionando.
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:duration="900" android:fromXScale="1" android:fromYScale="0.5" android:interpolator="@android:anim/bounce_interpolator" android:pivotX="50%" android:pivotY="0%" android:toXScale="1.0" android:toYScale="1.0" /> </set>
EDIT: En realidad todo mi xml es
- Cómo animar programaticamente un ImageView
- Android cambia la imagen de fondo con la animación de entrada / salida
- Animación de propiedades de Android: cómo aumentar la altura de la vista?
- No se puede obtener el icono de Actionbar para animar
- Android: ¿Cómo crear el diseño de la cama en xml?
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:duration="600" android:fromXScale="1" android:fromYScale="0.5" android:interpolator="@android:anim/bounce_interpolator" android:pivotX="50%" android:pivotY="0%" android:toXScale="1.0" android:toYScale="1.0" /> <alpha android:duration="@android:integer/config_longAnimTime" android:fromAlpha="0.0" android:interpolator="@android:anim/decelerate_interpolator" android:toAlpha="1.0" /> </set>
- Animación de botón de acción flotante
- Animación incoherente de Android en diferentes dispositivos
- Diapositiva de animación no funciona en el botón de prensa de nuevo?
- Set TransitionDrawable con ImageView ScaleType
- Mostrar / ocultar la vista de lista
- Cómo animar una versión 'clonada', duplicada de Android existente View
- Transición de escena de Android: Interpolador personalizado?
- ¿Cómo se anima el diseño de Google Maps?
Finalmente conseguí la solución. Funciona para mí y podría ser útil para otros. La clave era poner la etiqueta androide: interpolator en el conjunto de animación.
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/bounce_interpolator" > <scale android:duration="600" android:fromXScale="1" android:fromYScale="0.5" android:pivotX="50%" android:pivotY="0%" android:toXScale="1.0" android:toYScale="1.0" /> <alpha android:duration="600" android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
Si desea tener diferentes interpoladores para sus animaciones en el conjunto de animaciones, defina el atributo shareInterpolator
como false:
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
A continuación, establezca un interpolador en cada elemento de animación. Aparentemente, shareInterpolator
se establece en true de forma predeterminada.
Intenta agregar una duración:
<set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:fromXScale="1" android:fromYScale="0.5" android:interpolator="@android:anim/bounce_interpolator" android:pivotX="50%" android:pivotY="0%" android:toXScale="1.0" android:toYScale="1.0" android:duration="1000" /> </set>
Y tenga en cuenta que el conjunto de animación es inútil si contiene sólo una animación.
Bounce es sólo un efecto de animación donde la animación termina en rebote de moda. Para este set android: valor de interpolador para @android: anim / bounce_interpolator. Este rebote se puede utilizar con cualquier tipo de animación. El siguiente ejemplo de diapositiva utiliza el efecto de rebote.
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" android:interpolator="@android:anim/bounce_interpolator"> <scale android:duration="500" android:fromXScale="1.0" android:fromYScale="0.0" android:toXScale="1.0" android:toYScale="1.0" />