我将translateAnimation实现为imageview。
它成功地动画了。
一个翻译正在向上移动而另一个正在向下移动。我需要在开始第二次翻译时更改图像。
我的代码是:
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:shareInterpolator="true">
<translate
android:fromXDelta="0%" android:toXDelta="0%p"
android:fromYDelta="0%" android:toYDelta="20%"
android:drawable="@drawable/bs_bunny1"
android:duration="2000" android:startOffset="100"/>
<translate
android:fromXDelta="0%" android:toXDelta="0%p"
android:fromYDelta="0%p" android:toYDelta="-20%p"
android:duration="3000" android:startOffset="100"/></set>
我将上面的动画设置为imageview。
但是我想在开始加载第二个翻译时变形图像。如何做到这一点。
答案 0 :(得分:1)
您需要将其分解为两个动画,并将Animation.AnimationListener注册到第一个平移动画。在Animation.AnimationListener的onAnimationEnd(动画动画)回调中,执行图像更改然后启动第二个动画,如下所示:
translate.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
view.setImageResource(resId);
view.startAnimation(translate2);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});