1

ビューを (-100, 0) から (-50, 1) から (10, 1) から (100, 2) に段階的に移動したい。TranslateAnimation を試してみました。しかし、私は失敗しました。それは最初のステップでのみ機能し、その後は設定したように動きません。

これは私のコードです:

x1 = (0-layoutW);
x2 = (45*Constant.metricW-layoutW);
y1 = layoutH;
y2 = ((356-layoutH)*Constant.metricH);
Animation step1 = new TranslateAnimation(
            Animation.ABSOLUTE, x1, Animation.ABSOLUTE, x2,
            Animation.ABSOLUTE, y1, Animation.ABSOLUTE, y2 );
step1.setStartOffset(300);
step1.setDuration(100);
step1.setInterpolator(new AccelerateInterpolator());
animationSet.addAnimation(step1);

x1 = (45*Constant.metricW-layoutW);
x2 = (86*Constant.metricW-layoutW);
y1 = ((356-layoutH)*Constant.metricH);
y2 = ((288-layoutH)*Constant.metricH);
Animation step2 = new TranslateAnimation(x1, x2, y1, y2);       
step2.setStartOffset(400);
step2.setDuration(100);     
step2.setInterpolator(new AccelerateInterpolator());
step2.setFillAfter(true);
animationSet.addAnimation(step2); 

何か見逃しましたか?ありがとう。

4

1 に答える 1

0

問題は、セットがすべてのアニメーションを一度に実行することだと思います

あなたはで試すことができます

http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html

次のステップの追加onAnimationEnd()

于 2012-05-18T08:20:44.453 に答える