studio android fadein

studio - fade in android animation



Android: imagen parpadeante con la animaciĆ³n Alpha fade (5)

La mejor forma de evitar el desvanecimiento:

ImageView myImageView = (ImageView) findViewById(R.id.imageView2); Animation myFadeInAnimation = AnimationUtils.loadAnimation(Splash.this, R.anim.tween); myImageView.startAnimation(myFadeInAnimation);

en su res / anim / create tween.xml tween 1s, inicie la opacidad 0 a 1 e invierta infinito ...

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" android:repeatMode="reverse" android:repeatCount="infinite" /> </set>

He estado luchando por unos días sobre esto, finalmente decidí preguntar. Es tan simple que me falta algo muy básico.

Tengo una página de diseño XML con una imagen definida. Tengo dos páginas anim XML, una para cambiar alfa de 0 a 1, y la otra de 1 a 0 para crear un efecto de "parpadeo". Entonces la alphaAnimation se define en XML, solo necesito llamarla.

La imagen aparece, pero no hay efecto de parpadeo de bucle.

public class blinker extends Activity { //create name of animation Animation myFadeInAnimation; Animation myFadeOutAnimation; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.scanning_view); //grab the imageview and load the animations ImageView myImageView = (ImageView) findViewById(R.id.blinkingView01); Animation myFadeInAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_in); Animation myFadeOutAnimation = AnimationUtils.loadAnimation(null, R.anim.fade_out); //fade it in, and fade it out. myImageView.startAnimation(myFadeInAnimation); myImageView.startAnimation(myFadeOutAnimation); } }

Dos diseños de animación XML en el recurso Anim:

<?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="50" android:repeatCount="infinite"/> </set>

Y el otro:

<?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="1000" android:repeatCount="infinite"/> </set>


Por qué no usar android:repeatMode="reverse"


Puede usar la animación alfa siguiente para establecer los efectos intermitentes de las vistas en Android.

blinkanimation= new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible blinkanimation.setDuration(300); // duration blinkanimation.setInterpolator(new LinearInterpolator()); // do not alter animation rate blinkanimation.setRepeatCount(3); // Repeat animation infinitely blinkanimation.setRepeatMode(Animation.REVERSE);

Después de esto, agrega la animación a tu vista como,

view.setAnimation(blinkanimation);

o

view.startAnimation(blinkanimation);


Si alguien decidirá usar la versión programática:

val anim = AlphaAnimation(1.0f, 0.0f) anim.duration = 750 anim.fillAfter = true // here is repeat settings anim.repeatMode = AlphaAnimation.REVERSE // ping pong mode anim.repeatCount = 1 // count of repeats yourView.startAnimation(anim)


Si desea hacer la animación de desvanecimiento en un ImageView, pero no desea parpadear usted mismo o no desea que el fondo parpadee, una Vista personalizada es el único enfoque; consulte mi respuesta aquí: https://.com/a/50299715/2102748