自定义随意拖拽的控件
其实就是根据我们手指移动,
然后去重新定位这个View
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
//当动作为下落时,获取xy
case MotionEvent.ACTION_DOWN:
x1 = (int) event.getX();
y1 = (int) event.getY();
break;
//当动作为移动时
case MotionEvent.ACTION_MOVE:
//先获取上下左右
int left = getLeft();
int top = getTop();
int right = getRight();
int bottom = getBottom();
//获取此时的xy
int x2 = (int) event.getX();
int y2 = (int) event.getY();
//相减获取移动的差值
int x = x2 - x1;
int y = y2 - y1;
//重新去定位View
layout(left + x, top + y, right + x, bottom + y);
break;
}
return true;
}