android - studio - Animación de TextView-desaparecer, esperar, desaparecer
textview android (3)
Esa es la solución que he usado en mi proyecto para hacer un bucle de animación de aparición / desaparición gradual en TextViews:
private void setUpFadeAnimation(final TextView textView) {
// Start from 0.1f if you desire 90% fade animation
final Animation fadeIn = new AlphaAnimation(0.0f, 1.0f);
fadeIn.setDuration(1000);
fadeIn.setStartOffset(3000);
// End to 0.1f if you desire 90% fade animation
final Animation fadeOut = new AlphaAnimation(1.0f, 0.0f);
fadeOut.setDuration(1000);
fadeOut.setStartOffset(3000);
fadeIn.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation arg0) {
// start fadeOut when fadeIn ends (continue)
textView.startAnimation(fadeOut);
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationStart(Animation arg0) {
}
});
fadeOut.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationEnd(Animation arg0) {
// start fadeIn when fadeOut ends (repeat)
textView.startAnimation(fadeIn);
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationStart(Animation arg0) {
}
});
textView.startAnimation(fadeOut);
}
Espero que esto pueda ayudar!
Estoy haciendo una aplicación de galería de imágenes. Actualmente tengo una vista de imagen con una vista de texto en la parte inferior. Actualmente es solo semitransparente. Quiero hacerlo desaparecer, esperar 3 segundos, luego desaparecer 90%. Si lo enfoca o carga una nueva imagen, hará que repita el ciclo. He leído a través de una docena de páginas y he intentado algunas cosas, sin éxito. Todo lo que obtengo es una aparición gradual y una desaparición instantánea
Puede usar un objeto de animación adicional (que no modifica su alfa) para evitar que se desaparezca instantáneamente, establezca animationListener para su efecto de aparición gradual e inicie el objeto de animación adicional en la animación de fin de la aparición gradual, luego comienza desvanecerse en el extremo de la animación del objeto de animación adicional, pruebe el siguiente enlace, le ayudará ...
protected AlphaAnimation fadeIn = new AlphaAnimation(0.0f , 1.0f ) ;
protected AlphaAnimation fadeOut = new AlphaAnimation( 1.0f , 0.0f ) ;
txtView.startAnimation(fadeIn);
txtView.startAnimation(fadeOut);
fadeIn.setDuration(1200);
fadeIn.setFillAfter(true);
fadeOut.setDuration(1200);
fadeOut.setFillAfter(true);
fadeOut.setStartOffset(4200+fadeIn.getStartOffset());
Funciona perfectamente para fondos blancos. De lo contrario, debe cambiar los valores al crear AlphaAnimation
instancia de la clase AlphaAnimation
. Me gusta esto:
AlphaAnimation fadeIn = new AlphaAnimation( 1.0f , 0.0f );
AlphaAnimation fadeOut = new AlphaAnimation(0.0f , 1.0f );
Esto funciona con fondo negro y color de texto blanco.