Android: vista de desvanecimiento dentro y fuera
image fade (5)
Aquí está la solución que estoy usando ahora, que funciona en un nivel de API inferior a 12:
AlphaAnimation anim = new AlphaAnimation(1.0f, 0.0f);
anim.setDuration(1000);
anim.setRepeatCount(NUM_REPEATS);
anim.setRepeatMode(Animation.REVERSE);
button.startAnimation(anim);
Necesito mostrar un botón de imagen que se desvanece dentro y fuera (y adentro y afuera y así sucesivamente ...) La transparencia se puede establecer con setAlpha, pero ¿cómo puedo desvanecerme? Quiero decir que no puedo hacerlo en otro hilo porque necesitas hacer tales cosas en el hilo de la interfaz de usuario, ¿verdad?
Supongo que se puede hacer con animaciones pero no he encontrado nada, porque no tengo ninguna experiencia con animaciones y realmente no sé qué buscar ...
En realidad, lo que realmente quiero es desvanecer una imagen y otra más, pero supongo que la forma más fácil es colocar el primer botón de imagen debajo del segundo y desvanecer el segundo. ¿O hay una manera más fácil de hacerlo?
Esta es una animación que utilizamos en nuestro proyecto. Spinner es una vista, así que puedes cambiar esto con tu vista de imagen. Así que, de hecho, 2 imágenes una encima de la otra, una visible invisible. Así es como lo hicimos. Espero eso ayude.
spinner.setVisibility(View.VISIBLE);
spinner.setAlpha(0);
spinner.animate().setDuration(200).alpha(1).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
spinner.setVisibility(View.VISIBLE);
}
});
infoActivityContent.animate().setDuration(200).alpha(0).setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
infoActivityContent.setVisibility(View.GONE);
mainPresenter.logout();
}
});
Implemente la clase de animación (puede cargarla a través de XML o crearla de forma dinámica).
Luego puede configurarlo a través de API setAnimation (animación de animación).
Puede hacer que varios fotogramas secuenciales de su primera imagen se transformen en su segunda imagen y volver, y luego definirlos como animation-list
animación y comenzar la animación en onCreate
button_frames.xml:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/frame1" android:duration="100" />
<item android:drawable="@drawable/frame2" android:duration="100" />
....
diseño:
<ImageView android:id="@+id/button"
android:background="@drawable/button_frames"/>
OnCreate:
ImageView button= (ImageView)findViewById(R.id.button);
mAnimation = (AnimationDrawable) animationView.getBackground();
button.postDelayed(new Runnable() {
public void run() {
mAnimation.start();
}
}, 100);
Tienes que leer Crossfading Two Views de los Android developers
. En este tutorial se explica cómo hacer lo que quieras.