2

所以基本上我有这个,当你点击图像时,图像会向右移动但是当动画完成时它会回到原来的位置?我怎样才能让它停在动画结束的地方?这是我的代码

    <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromXDelta="0%" android:toXDelta="70%" android:duration="1000"/>
</set>

这是我的 slide_in_right.xml

 public void sideBar()
   {


       ImageView sidebar = (ImageView)findViewById(R.id.sidebar);

       mSlideInRight = AnimationUtils.loadAnimation(this, R.anim.slide_in_right);
       sidebar.startAnimation(mSlideInRight);


   }

这是它向右滑动的代码

4

1 回答 1

2

使用Animation setFillAfter(true)方法来持久化动画。

AlphaAnimation alpha = new AlphaAnimation(1, 0);
alpha.setDuration(600);
alpha.setFillAfter(true);

然后

someView.startAnimation(alpha);

在您的情况下,代码应该是

public void sideBar()
{
   ImageView sidebar = (ImageView)findViewById(R.id.sidebar);

   mSlideInRight = AnimationUtils.loadAnimation(this, R.anim.slide_in_right);
   mSlideInRight.setFillAfter(true);
   sidebar.startAnimation(mSlideInRight);
}
于 2012-10-19T03:35:01.687 回答