识别手势滑动的方向主要是用的     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);    }}

 

更多相关文章

  1. 【Android(安卓)Demo】图片之滑动效果(Gallery)
  2. Tab添加左右按钮
  3. android嵌套滑动- Material Design
  4. Android]仿通讯录ListView小例子
  5. Android手势左右滑动效果
  6. Android(安卓)之多点触摸 手势拉伸放大缩小图片 并在ImageView上
  7. Android(安卓)GestureDetector方法详解
  8. Android(安卓)EditText左右滑动
  9. Android指纹解锁边界性问题

随机推荐

  1. android路径获取
  2. RecyclerView添加行间距
  3. Java反射
  4. Android实现局域网组播
  5. Common Intents
  6. 接口 登录、注册、信息
  7. android自定义一圆角ImageView
  8. 调用摄像头拍照并显示
  9. android 读中文文本文件
  10. Android抽屉(SlidingDrawer)的实现