studio - transiciones android developer
Aplicar una animación en un Drawable en Android (3)
Android 3.0 introdujo las animaciones de propiedades .
Desafortunadamente, esto se limita a Android 3.0 y hasta que no llegará a los teléfonos en el corto plazo.
Estoy agregando un efecto de animación de brillo a un logotipo. Hasta ahora, he logrado obtener la imagen brillante detrás del logotipo, utilizando un LayeredDrawable, pero no puedo encontrar la manera de animarlo. Descubrí que AlphaAnimation lograría el efecto deseado, pero desafortunadamente solo puedo aplicarlo en Vistas, no en Dratables. ¿Cómo puedo lograr este efecto?
Ejemplo simple
final ImageView imageView = (ImageView) findViewById(R.id.animatedImage);
final Button animated = (Button) findViewById(R.id.animated);
animated.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Drawable drawable = imageView.getDrawable();
if (drawable.getAlpha() == 0) {
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 255));
animator.setTarget(drawable);
animator.setDuration(2000);
animator.start();
} else {
ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(drawable, PropertyValuesHolder.ofInt("alpha", 0));
animator.setTarget(drawable);
animator.setDuration(2000);
animator.start();
}
}
});
Método getAlpha()
add in api 19. Pero no es una gran restricción, puede guardar el estado en una variable local. ObjectAnimator
agregar en Android 3.0 (api 11), tal vez la versión anterior de Android puede usar nineoldandroids . No hice la prueba con nineoldandroids.
Estoy usando una animación en el ImageView que muestra el dibujable. Creo que esto también debería ser posible en tu caso.