Android anima una lista de animación
Mi pregunta, ¿es posible animar un elemento en una lista de animación. En concreto, digamos que tiene:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawable/rocket_thrust1" android:duration="200" /> <item android:drawable="@drawable/rocket_thrust2" android:duration="200" /> <item android:drawable="@drawable/rocket_thrust3" android:duration="200" /> </animation-list>
Quiero desvanecer el alfa de cada <item>
lugar de simplemente saltar de una imagen a la siguiente, ¿es posible?
- Animar ciertos elementos ListView
- Cómo animar vistas como los cambios de desplazamiento de posición de ViewPager
- Animación de la traducción y ampliación de la vista en Android
- Creación de una presentación de diapositivas que desvanecen imágenes entre sí y transforman
- Cómo hacer en la animación del botón de botón Al igual que en la aplicación de Google Android botón Volver?
- ¿Cómo se suelta un pin en un MapView en Android?
- ¿Por qué dibujar bitmaps es muy lento en algunos teléfonos Android 2.2?
- ¿Cómo puedo animar View.setVisibility (GONE)
- ¿Por qué la aceleración de hardware no funciona en mi vista?
- La vista de Android se desvanece en programaticamente
- ¿Cómo crear animaciones 3D como esta en Android?
- ¿Cómo puedo eliminar el retraso antes de una animación LayoutTransition
- Establecer la página predeterminada de ViewPager en Android
Deberá utilizar animaciones interpoladas para hacer esto. Esencialmente, lo que debe hacer es tener dos objetos ImageView, uno para la imagen actual y otro para la nueva. Crear dos animaciones interpoladas para res / anim / fadeout.xml:
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.0" android:startOffset="500" android:duration="500" />
Y res / anim / fadein.xml:
<?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="0.0" android:toAlpha="1.0" android:startOffset="500" android:duration="500" />
A continuación, utilice un widget ImageSwitcher para cambiar entre las vistas:
@Override public void onCreate( Bundle savedInstanceState ) { super.onCreate( savedInstanceState ); LinearLayout ll = new LinearLayout( this ); ll.setOrientation( LinearLayout.VERTICAL ); setContentView( ll ); final ImageSwitcher is = new ImageSwitcher( this ); is.setOutAnimation( this, R.anim.fadeout ); is.setInAnimation( this, R.anim.fadein ); ImageView iv1 = new ImageView( this ); iv1.setImageResource( R.drawable.icon ); is.addView( iv1 ); is.showNext(); ll.addView( is ); Button b = new Button( this ); ll.addView( b ); b.setOnClickListener( new OnClickListener() { @Override public void onClick( View v ) { ImageView iv2 = new ImageView( MainActivity.this ); iv2.setImageResource( R.drawable.icon2 ); is.addView( iv2 ); is.showNext(); } }); }
Hay una serie de artículos en mi blog sobre animaciones interpoladas.