Repeat android animation

AndroidAndroid Animation

Android Problem Overview


public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.vitesse);
     
    gpsManager = new GPSManager();
     
    gpsManager.startListening(getApplicationContext());
    gpsManager.setGPSCallback(this);
    Typeface tf = Typeface.createFromAsset(getAssets(),
            "font/DS-DIGI.TTF");
     TextView  loding =(TextView)findViewById(R.id.info_message);
     		loding.setTypeface(tf);
 			AlphaAnimation fadeIn = new AlphaAnimation(0.0f , 1.0f ) ; 
 			AlphaAnimation fadeOut = new AlphaAnimation( 1.0f , 0.0f ) ; 
 			loding.startAnimation(fadeIn);
 			loding.startAnimation(fadeOut);
 			fadeIn.setDuration(500);
 			fadeOut.setDuration(1200);
 			fadeOut.setStartOffset(1200+fadeIn.getStartOffset()+1200); 	   
 			measurement_index = AppSettings.getMeasureUnit(this);
}

I want to repeat this of textview loding animation until gotting an inforamtion from GPS

Android Solutions


Solution 1 - Android

Like this.

animation.setRepeatCount(Animation.INFINITE);

Solution 2 - Android

Android gives you elegant mechanisms to represent the loading process. You could use an indeterminate ProgressBar, or an ImageView with a scale/alpha animation, instead of animating the TextView itself.

Maybe you might find this animation useful, for animating alpha and scale at the same time. Vary the parameters for your preference:

file res/anim/alpha_scale_animation.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<scale
    android:fromXScale="0.7"
    android:toXScale="1.0"
    android:fromYScale="0.7"
    android:toYScale="1.0"
    android:pivotX="50%p"
    android:pivotY="50%p"
    android:duration="4000"
    android:repeatCount="infinite"
    />

<alpha
    android:fromAlpha="0.0"
    android:toAlpha="1.0"
    android:duration="2000"
    android:repeatMode="reverse"
    android:repeatCount="infinite"
    />
</set>

then to launch it in your code:

Animation connectingAnimation = AnimationUtils.loadAnimation(getContext(), R.anim.alpha_scale_animation);
myView.startAnimation(connectingAnimation);

And to stop it:

myView.clearAnimation();
connectingAnimation.cancel();
connectingAnimation.reset();

You can also use libraries like ProgressButtonView to have both user interaction and loading process supported in the same widget.

Hope that any of these solutions result useful to someone :)

Solution 3 - Android

You can use these methods to control the repeat behavior:

fadeIn.setRepeatCount(int count) // or Animation.INFINITE

fadeIn.setRepeatMode(Animation.REPEAT) // or any other repeat mode, such as Animation.REVERSE

implement these listeners, if needed:

// anim = your animation	
anim.setAnimationListener(new AnimationListener() {
			public void onAnimationStart(Animation arg0) 
			{
				// TODO Auto-generated method stub
			}
			
			public void onAnimationRepeat(Animation arg0)
			{
				// TODO Auto-generated method stub
			}
			
			public void onAnimationEnd(Animation arg0)
			{
				// TODO Auto-generated method stub
			}
		});

if you wanna stop your animation suddenly, use yourView.clearAnimation() I hope this helps.

Solution 4 - Android

to repeat animation just add the code in xml file which located in anim folder file in which we create a animation object.

  1. android:repeatCount="infinite"
  2. android:repeatMode="restart"

Solution 5 - Android

Set repeat count to -1 then it will animate infinite

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionEMINView Question on Stackoverflow
Solution 1 - AndroidalexView Answer on Stackoverflow
Solution 2 - AndroidvoghDevView Answer on Stackoverflow
Solution 3 - AndroidanzaidemirzoiView Answer on Stackoverflow
Solution 4 - Androidkiran bankarView Answer on Stackoverflow
Solution 5 - AndroidXinxenView Answer on Stackoverflow