OnDragListener 如何判断 是向左划还是向右划
时间: 2023-12-10 07:03:37 浏览: 111
ViewPager判断是向左划还是右划的实例
在使用 OnDragListener 进行拖拽操作时,可以通过监听 ACTION_DRAG_STARTED、ACTION_DRAG_LOCATION 和 ACTION_DRAG_ENDED 三个事件,结合起始点和结束点的坐标位置来判断拖拽的方向。
具体来说,可以在 ACTION_DRAG_STARTED 事件中获取起始点的坐标,然后在 ACTION_DRAG_LOCATION 事件中获取当前位置的坐标,最后在 ACTION_DRAG_ENDED 事件中获取结束点的坐标。通过比较这三个坐标的横坐标大小,判断拖拽的方向是向左还是向右。
代码示例:
```
private int mStartX, mEndX;
@Override
public boolean onDrag(View v, DragEvent event) {
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
mStartX = (int) event.getX();
break;
case DragEvent.ACTION_DRAG_LOCATION:
// do something
break;
case DragEvent.ACTION_DRAG_ENDED:
mEndX = (int) event.getX();
if (mEndX > mStartX) {
// 向右划
} else {
// 向左划
}
break;
}
return true;
}
```
阅读全文