dispatchTouchEvent 左右滑动怎么写 Android 的
时间: 2024-03-18 09:17:30 浏览: 50
Android中Viewpager禁止滑动的实现
5星 · 资源好评率100%
在 Android 中,可以通过重写 `dispatchTouchEvent()` 方法来处理触摸事件。
下面是一个示例代码,用于处理左右滑动事件:
```
public class MyView extends View {
private float x1, x2, y1, y2;
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
x1 = event.getX();
y1 = event.getY();
break;
case MotionEvent.ACTION_UP:
x2 = event.getX();
y2 = event.getY();
if (x1 < x2) {
// 向右滑动
} else if (x1 > x2) {
// 向左滑动
}
break;
}
return super.dispatchTouchEvent(event);
}
}
```
在 `ACTION_DOWN` 事件中记录触摸点的坐标,当触摸结束时(`ACTION_UP`),再次记录坐标,然后根据坐标的变化判断是左滑还是右滑。
阅读全文