public float xMoveValue=0;//最终得到的结果
public float yMoveValue=0;//最终得到的结果
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
float downX;//按下的X坐标
float downY;//按下的X坐标
float oldXMoveValue;//之前的移动值
float oldYMoveValue;//之前的移动值
@Override
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN){
downX=event.getX();
downY=event.getY();
oldXMoveValue=xMoveValue;
oldYMoveValue=yMoveValue;
return true;
}
if (event.getAction()==MotionEvent.ACTION_MOVE){
xMoveValue=(event.getX()-downX)+oldXMoveValue;//叠加偏移量
yMoveValue=(event.getY()-downY)+oldYMoveValue;//叠加偏移量
postInvalidate();
return true;
}
if (event.getAction()==MotionEvent.ACTION_UP){
return true;
}
return super.onTouchEvent(event);
}
Android自定义View获取手势滑动,计算划过的X值和Y值
于 2023-01-13 16:37:26 首次发布