只要最后全部返回return true 就可以了。
private int point1;
private int point2;
private int startX;
private int startY;
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
int action = event.getAction();
int x = (int) event.getRawX();
int y = (int) event.getRawY();
Log.i("", "x=" + x + " y=" + y);
switch (action) {
// 鼠标按下 拖拉动作开始
case MotionEvent.ACTION_DOWN:
Log.i("touch", "ACTION_DOWN");
point1 = getTop();
startX = (int) event.getX();
startY = y - getTop();
Log.i("", "startX=" + startX + " startY=" + startY);
break;
// 鼠标移动 拖拉动作进行中
case MotionEvent.ACTION_MOVE:
int temp_x = x - startX;
int temp_y = y - startY;
Log.i("touch", "ACTION_MOVE");
Log.i("", temp_x+" , "+temp_y);
// v.layout(x - startX, y - startY, x + v.getWidth() - startX, y - startY + v.getHeight());
scrollBy(-temp_x, -temp_y);
// v.bringToFront();
// v.postInvalidate();
break;
// 鼠标释放 拖拉动作结束
case MotionEvent.ACTION_UP:
Log.i("touch", "ACTION_UP");
break;
}
return true;
}
如果return false的话 只能检测到ACTION_DOWN