80,493
社区成员
发帖
与我相关
我的任务
分享
private OnTouchListener moveEventListener = new OnTouchListener() {
int lastX, lastY;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = (int) event.getX();
lastY = (int) event.getY();
break;
case MotionEvent.ACTION_MOVE:
int dx = (int) event.getX() - lastX;
int dy = (int) event.getY() - lastY;
int movex = v.getLeft() + dx;
int movey = v.getTop() + dy;
mapView.panBy(new Point(movex, movey));
v.invalidate();
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
};
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
temp[0] = x - v.getLeft();
temp[1] = y - v.getTop();
break;
case MotionEvent.ACTION_MOVE:
v.layout(x - temp[0], y - temp[1], x + v.getWidth() - temp[0], y - temp[1] + v.getHeight());
v.invalidate();
break;
case MotionEvent.ACTION_UP:
break;
}