Android(安卓)手势识别向左,右,上,下,滑动的方向
16lz
2022-01-16
识别手势滑动的方向主要是用的 GestureDetector的onFling ,如果想回顾下GestureDetector 可以参考下面的链接地址
GestureDetector 文章
问题也比较简单下面给出代码:
public class FlingActivity extends AppCompatActivity { private GestureDetector gestureDetector; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); gestureDetector = new GestureDetector(FlingActivity.this, new GestureDetector.SimpleOnGestureListener() { /** * e1: 第一次按下的位置 * e2 当手离开屏幕 时的位置 * velocityX 沿x 轴的速度 * velocityY: 沿Y轴方向的速度 * @param e1 * @param e2 * @param velocityX * @param velocityY * @return */ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // 手势向上滑动 if (e1.getRawY() - e2.getRawY() > 200) { Toast.makeText(FlingActivity.this, "手势向上滑动", Toast.LENGTH_SHORT).show(); return true; } // 手势向下滑动 if (e2.getRawY() - e1.getRawY() > 200) { Toast.makeText(FlingActivity.this, "手势向下滑动", Toast.LENGTH_SHORT).show(); return true; } // 手势向右滑动 if ((e1.getRawX() - e2.getRawX()) > 200) { Toast.makeText(FlingActivity.this, "手势向右滑动", Toast.LENGTH_SHORT).show(); return true; } // 手势向左边滑动 if ((e2.getRawX() - e1.getRawX()) > 200) { Toast.makeText(FlingActivity.this, "手势向左边滑动", Toast.LENGTH_SHORT) .show(); return true; // 消费掉当前事件 不让当前事件继续向下传递 } return super.onFling(e1, e2, velocityX, velocityY); } }); } @Override public boolean onTouchEvent(MotionEvent event) { return gestureDetector.onTouchEvent(event); }}
更多相关文章
- 【Android(安卓)Demo】图片之滑动效果(Gallery)
- Tab添加左右按钮
- android嵌套滑动- Material Design
- Android]仿通讯录ListView小例子
- Android手势左右滑动效果
- Android(安卓)之多点触摸 手势拉伸放大缩小图片 并在ImageView上
- Android(安卓)GestureDetector方法详解
- Android(安卓)EditText左右滑动
- Android指纹解锁边界性问题