1.控件随着手势,在屏幕上任意滑动
float lastX = 0;
float lastY = 0;
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
lastX = event.getRawX();
lastY = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
float dx = event.getRawX() - lastX;
float dy = event.getRawY() - lastY;
int left = (int) (getLeft() + dx);
int right = (int) (getRight() + dx);
int top = (int) (getTop() + dy);
int bottom = (int) (getBottom() + dy);
layout(left, top, right, bottom);
lastX = event.getRawX();
lastY = event.getRawY();
break;
case MotionEvent.ACTION_UP:
break;
}
return super.onTouchEvent(event);
}