Androidアニメーション(フラッシュ、左右スイング、上下スイングなどの効果)


本論文の転送先:http://www.eoeandroid.com/forum.php?mod=viewthread&tid=117094&highlight=
一、続き  (名前が分かりませんが、先にアニメAを放送して、その後アニメBを放送します.)        二つの方法があります        一つは、二つのアニメ、AとBをそれぞれアニメ化して、まずアニメAを放送して、AのアニメイトListenerを設定します.アニメイトEndがトリガ(つまりA再生終了)すると、Bの再生が開始されます.
     animation1.setAnimationListener(new Animation.AnimationListener() {  
@Override  
public void onAnimationStart(Animation animation) {  
      
}  
  
@Override  
public void onAnimationRepeat(Animation animation) {  
}  
  
@Override  
public void onAnimationEnd(Animation animation) {  
    animation2.start();  
}  
);  
二つ目は、アニメイトセットを書く場合、アニメAとBを定義し、アニメBのためにstartOffsetを設定します.その値は前のアニメの放送に必要な時間です.        ここで一例を挙げると、アニメーションAは透明度が0.1から1.0までで、アニメーションBは透明度が1.0から0.1までです.  次のアニメーションセットを使って、変化の過程を全部見ることができます.
<?xml version="1.0" encoding="utf-8"?>  
<set xmlns:android="http://schemas.android.com/apk/res/android">  
    <alpha  
        android:fromAlpha="0.2"  
        android:toAlpha="1.0"  
        android:duration="3000"  
        />  
    <alpha  
        android:startOffset="3000"  
        android:fromAlpha="1.0"  
        android:toAlpha="0.2"  
        android:duration="3000"  
        />  
</set>  
その中のアンディ:startOffset=3000  3秒遅れてから実行するという意味です.その中のandroid:startOffset=3000を取れば、あなたはどんな効果も見えなくなります.二つのアニメが同時に放送されるからです.二、サイクル        時々、写真の点滅機能(天気予報の緊急警報機能など)を実現する必要があります.  あるいは時には左右に揺れるイメージを実現する必要があります.循環動画で実現する必要があります.        同じように、二つの方法があります.一つは、二つのアニメーションAとBを設置し、アニメーションAは透明度0-1であり、アニメーションBは1-0であり、その両方をモニターし、AはBを終了し、BはA.無限ループを実行します.点滅(透明度が明るい→暗い→暗い→明るい)のように循環します.
//    
AlphaAnimation alphaAnimation1 = new AlphaAnimation(0.1f, 1.0f);  
alphaAnimation1.setDuration(3000);  
alphaAnimation1.setRepeatCount(Animation.INFINITE);  
alphaAnimation1.setRepeatMode(Animation.REVERSE);  
iv.setAnimation(alphaAnimation1);  
alphaAnimation1.start();  
alpha Animation 1.set Repeat Count(Animation.INFINITE);何度も繰り返すことを表す.具体的に繰り返される回数を設定することもできます.例えば、アルファAnimation 1.set Repeat Count(5)alpha Animation 1.setRepeat Mode(Animation.REVERSE);アニメーションが終わったら、逆に実行するという意味です.この方法は2つの値、RESTART、REVERSEがある.RESTARTは最初から、REVERSEは最後から逆放送すると表しています.左右にゆれるように
//    
TranslateAnimation alphaAnimation2 = new TranslateAnimation(150f, 350f, 50, 50);  
alphaAnimation2.setDuration(1000);  
alphaAnimation2.setRepeatCount(Animation.INFINITE);  
alphaAnimation2.setRepeatMode(Animation.REVERSE);  
iv.setAnimation(alphaAnimation2);  
alphaAnimation2.start();  
そのうちivはImageViewである.