0

Androidで2つのボタンのアニメーションを作成しています.Button1は、画面の下部中央から中央に向かって垂直に上方向に移動します(2秒と言います)。そこに到達すると、画像は2秒間そこにあるはずです。最初のボタンがまだ存在している間に、画面のcenter_right側から画面のcenter_left側に移動します。最初の画像を画面上にしばらく表示する方法を教えてください。以下は私のコードです:

R.anim.alpha

<?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate 
            android:fromYDelta="200%p" 
            android:toYDelta="-11%p" 
            android:duration="3000"
            android:repeatCount="infinite"
            />
    </set>

R.anim.anim_card

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
      android:fromXDelta="600%"
    android:toXDelta="-100%"
    android:repeatCount="infinite"
    android:duration="4000"
    android:fillAfter="true"
    />
</set>

Java コードでは次のようになります。

 Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha);
    a.reset();
    _image.clearAnimation();
    _image.startAnimation(a);

    Animation b =AnimationUtils.loadAnimation(this, R.anim.anim_card);
            b.reset();
            btn_card.clearAnimation();
            btn_card.startAnimation(b);
4

1 に答える 1

0

そのためには AnimationListener を使用する必要があります。

 Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha);
 a.reset();
 _image.clearAnimation();
 _image.startAnimation(a);

 Animation b =AnimationUtils.loadAnimation(this, R.anim.anim_card);
 b.reset();

 a.setAnimationListener(new AnimationListener() {

            @Override
            public void onAnimationStart(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationRepeat(Animation animation) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onAnimationEnd(Animation animation) {
                // TODO Auto-generated method stub
            btn_card.clearAnimation();
            btn_card.startAnimation(b);
            }
        });

それが役に立てば幸い。

于 2013-03-13T10:20:00.407 に答える