重复androidanimation

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); } 

我想重复这个textview lodinganimation,直到从GPS获取信息

Solutions Collecting From Web of "重复androidanimation"

像这样

 animation.setRepeatCount(Animation.INFINITE); 

你可以做到这一点

 animation.setRepeatCount(Animation.INFINITE); //Repeats animation indefinitely. 

Android为您提供了优雅的机制来表示加载过程。 您可以使用不确定的ProgressBar或具有比例/ alphaanimation的ImageView ,而不是使用TextView本身的animation。

也许你可能会发现这个animation有用,在同一时间animationalpha和缩放。 根据您的喜好改变参数:

file R.anim.alpha_scale_animation

 <?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> 

然后在你的代码中启动它:

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

并阻止它:

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

您还可以使用像ProgressButtonView这样的库在同一个小部件中支持用户交互和加载过程。

希望这些解决scheme对任何人都有用:)

 fadeIn.setRepeatCount(int count) fadeIn.setRepeatMode(AlphaAnimation.INFINITE(or any other repeat mode reletaed yo your usage)) 

你可以使用这些方法来控制重复。

如果需要的话执行这个

  //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) { } }); 

如果你想突然停止你的animation。 使用yourview.clearAnimation()我希望这有助于。