私のAndroidアプリでは、別のビューアニメーションが終了した後、ビューでアニメーションを開始したいと思います。そこで、AnimationListenerを使用し、オーバーライドメソッドonAnimationEnd()を使用しました。ただし、問題は、1番目のビューのアニメーションが終了すると、1番目と2番目のビューの両方がアニメーションを開始することです。つまり、1番目のビューは2番目のアニメーションでアニメーションを繰り返します。
final Animation anim = AnimationUtils.loadAnimation(Home.this,R.anim.myanimation);
anim.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
image_2.startAnimation(anim);
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}});
image_1.startAnimation(anim);
image_1のアニメーションの後にimage_2のアニメーションを開始したい。ただし、image_1はアニメーションを繰り返しません。アニメーションが順番に発生すること。どうやってするか?
私のアニメーションコードを以下に示します。
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fillEnabled="true" android:fillAfter="true" android:startOffset="5000">
<scale android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="1.0" android:pivotX="100%" android:duration="8000" />
</set>