0

我在android中的补间动画有问题,我尝试将一个ImageView项目从屏幕中心移动到屏幕顶部,但在变换结束后ImageView返回到第一个位置!我使用这段代码:

   <?xml version="1.0" encoding="utf-8"?>
       <translate 
        xmlns:android="http://schemas.android.com/apk/res/android"
         android:interpolator="@android:anim/bounce_interpolator"
         android:fromYDelta="0%"
         android:toYDelta="-1500%"
         android:duration="3000"
         android:startOffset="3000">
         </translate>

private void RunAnimations() {

    Animation animation = AnimationUtils.loadAnimation(this, R.anim.move_up_maxname);
    animation.reset();
    ImageView maxName = (ImageView) findViewById(R.id.imageView1);
    maxName.clearAnimation();
    maxName.startAnimation(animation);
}

谁能帮我?
谢谢

4

3 回答 3

3

你需要看看 setFillAfter:

如果 fillAfter 为 true,则此动画执行的转换将在完成后持续存在。

于 2012-10-05T09:58:15.010 回答
2

使用AnimationListener并在 onAnimationEnd() 中更改 ImageView(最后一个点)的位置。

animation.setAnimationListener(new AnimationListener() {

   public void onAnimationStart(Animation anim)
   {};

   public void onAnimationRepeat(Animation anim)
   {};

   public void onAnimationEnd(Animation anim)
   {
     //Change imageview position using LayoutParameters
   };
});                     
于 2012-10-05T09:50:21.277 回答
2

添加线动画.setFillAfter(true);

于 2012-10-05T12:08:01.747 回答