Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.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 动画结束时如何保存新位置?_Android_Animation_Imageview_Translation - Fatal编程技术网

Android 动画结束时如何保存新位置?

Android 动画结束时如何保存新位置?,android,animation,imageview,translation,Android,Animation,Imageview,Translation,嗨,我正在制作动画(使用TranslateAnimation())我有4个按钮(左移、右移、向上按钮、向下按钮)和一个图像视图,我现在想要如何在动画结束时保存新位置,并在动画上从新位置开始运行另一个动画调用方法setFillAfter(true)我已经尝试使用动画。setFillEnabled(true);animation.setFillAfter(true);但是,例如,我按下右键2次,图像被复制。我必须纠正图像仅在向下和向右的方向上复制private OnClickListener cli

嗨,我正在制作动画(使用TranslateAnimation())我有4个按钮(左移、右移、向上按钮、向下按钮)和一个图像视图,我现在想要如何在动画结束时保存新位置,并在动画上从新位置开始运行另一个动画调用方法
setFillAfter(true)

我已经尝试使用动画。setFillEnabled(true);animation.setFillAfter(true);但是,例如,我按下右键2次,图像被复制。我必须纠正图像仅在向下和向右的方向上复制
private OnClickListener click\u Dx=new OnClickListener(){@Override public void onClick(View v){animation=new TranslateAnimation(0,50,0,0);animation.setDuration(2000);animation.setRepeatCount(0);IMG3.setImageDrawable(getResources().getDrawable(R.drawable.dx));IMG3.setAnimation(animation);animation.setFillEnabled(true);animation.setFillAfter(true);}对于每个clickListener,图像都朝一个方向移动,它们都是相同的,所以我只写一个项目的sdk最小目标是什么?如果是3.0或更高版本,您应该使用
ObjectAnimator
,它工作得更好,
TranslateAnimation
只会更改屏幕上显示的位置,但布局位置保持不变,这就是第二次翻译无法正常工作的原因,从3.0版开始,引入了
ObjectAnimator
,它工作得更好。min sdk是8,但如果您确实需要=),我可以更改它。无论如何,ObjectAnimator如何工作?