在android上更改translateanimation上的图像

时间:2012-04-12 05:54:19

标签: android

我将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。

但是我想在开始加载第二个翻译时变形图像。如何做到这一点。

1 个答案:

答案 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) {
}
});