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

GPSからの情報が得られるまで、テキストビューのローディングアニメーションを繰り返したい

4

5 に答える 5

133

このように。

animation.setRepeatCount(Animation.INFINITE);
于 2013-02-22T10:00:28.083 に答える
36

Android には、読み込みプロセスを表す洗練されたメカニズムが用意されています。それ自体をアニメーション化する代わりに、 indeterminate ProgressBar、またはスケール/アルファ アニメーション付きの を使用できます。ImageViewTextView

このアニメーションは、アルファとスケールを同時にアニメートするのに役立つかもしれません。好みに合わせてパラメーターを変更します。

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>

次に、コードで起動します。

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

そしてそれを止めるには:

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

また、 ProgressButtonViewなどのライブラリを使用して、ユーザー操作と読み込みプロセスの両方を同じウィジェットでサポートすることもできます。

これらのソリューションのいずれかが誰かに役立つことを願っています:)

于 2016-10-27T08:50:21.000 に答える
10

これらのメソッドを使用して、繰り返し動作を制御できます。

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

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

必要に応じて、これらのリスナーを実装します。

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

アニメーションを突然停止したい場合は、yourView.clearAnimation()これが役立つことを願っています。

于 2013-02-22T10:05:42.883 に答える
6

アニメーションを繰り返すには、アニメーション オブジェクトを作成する anim フォルダー ファイルにある xml ファイルにコードを追加するだけです。

  1. android:repeatCount="無限"
  2. android:repeatMode="再起動"
于 2018-09-27T12:34:01.877 に答える