我环顾了整个网络,发现了如何在我的应用程序中为图像创建运动事件/拖动的一些答案。
到目前为止,我已经实现了以下内容:
private void dragAndDrop(){
image.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) image
.getLayoutParams();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
break;
case MotionEvent.ACTION_MOVE:
int x_cord = (int) event.getRawX();
int y_cord = (int) event.getRawY();
if (x_cord > windowwidth) {
x_cord = windowwidth;
}
if (y_cord > windowheight) {
y_cord = windowheight;
}
layoutParams.leftMargin = x_cord - 25;
layoutParams.topMargin = y_cord - 75;
image.setLayoutParams(layoutParams);
break;
default:
break;
}
return true;
}
});
}
现在这在一定程度上可行,但是每次单击图像时,图像都会跳到手指下方几厘米以下,我不确定为什么
但是我可以很好地移动图像。 但是我的问题是,这现在是更新的方法吗?我是否错过了一个易于使用的课程,让用户随意移动图像?
谢谢