发布网友 发布时间:2022-08-18 06:11
共1个回答
热心网友 时间:2023-10-16 11:44
直接给你上代码吧: @Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN:// 手指按下时 startX = (int) event.getRawX(); startY = (int) event.getRawY(); break; case MotionEvent.ACTION_MOVE:// 手指移动时 int currentX = (int) event.getRawX();// 获取当前x坐标 int currentY = (int) event.getRawY();// 获取当前y坐标 int disX = currentX - startX;// x方向移动的距离 int disY = currentY - startY;// y方向移动的距离 // 当x方向移动的距离大于y方向移动的距离时 if (Math.abs(disX) > Math.abs(disY) ) startX = (int) event.getRawX(); startY = (int) event.getRawY(); break; case MotionEvent.ACTION_UP:// 手指离开时 break; } return super.dispatchTouchEvent(event); }