Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android java如何让动画图像向左移动并停留在那里?_Java_Android - Fatal编程技术网

Android java如何让动画图像向左移动并停留在那里?

Android java如何让动画图像向左移动并停留在那里?,java,android,Java,Android,基本上,当你点击图像时,图像会向右移动,但是当动画完成后,它会回到原来的位置吗?如何使其在动画中的结束点停止?这是我的密码 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0%" android:toXDelta="70%" an

基本上,当你点击图像时,图像会向右移动,但是当动画完成后,它会回到原来的位置吗?如何使其在动画中的结束点停止?这是我的密码

    <?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>

这是它向右滑动的代码

使用
动画
setFillAfter(true)
方法保存动画

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

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

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);
}

你能给我一个例子,说明我如何将其添加到我的代码中吗?是的,在你的例子中
mslidinright.setFillAfter(true)
;就在
侧栏开始动画之前(mSlideInRight)
;嗯,我添加了它,并用这样的代码对它进行了测试:我没有做向右移动的动画,而是淡出了。我给出了淡出的代码。通过
AnimationUtils
加载动画后,您应该只使用一行添加的旧代码-
mSlideInRight.setFillAfter(true)
确保未调用
sidebar()
两次。做一些调试和实验。
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);
}