我正在尝试构建一个包含imageview的应用。用户可以使用以下代码将imageview水平拖动到屏幕上的某个位置:
@Override
public boolean onTouchEvent(MotionEvent event){
img.getLocationOnScreen(viewCoords);
newimgpos[0]=event.getX()-(viewCoords[0]-img.getX());
img.setX(newimgpos[0]);
}
现在,我希望当用户将手指抬离屏幕时,将图像视图移回x = 0。我可以直接将imageview的x坐标设置为零,但它看起来像是一个非常突然的变化;我希望imageview平滑移动到x = 0。可以这样做吗?我尝试使用以下逻辑:
for(int i= (int)newimgpos[0]; i>=0; i--){
img.setX(i);
}
它移动,我可以看到实际的运动;还是不够顺利。
答案 0 :(得分:0)
您需要在此处使用动画。请查看以下主题以获取更多信息:Android translate animation - permanently move View to new position using AnimationListener