博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 判断左右滑动,上下滑动的GestureDetector简单手势检测
阅读量:6967 次
发布时间:2019-06-27

本文共 3085 字,大约阅读时间需要 10 分钟。

直接加入监听GestureDetector放在需要判断滑动手势的地方:

1 import android.app.Activity;   2 import android.os.Bundle;   3 import android.util.Log;   4 import android.view.GestureDetector;   5 import android.view.GestureDetector.OnGestureListener;   6 import android.view.MotionEvent;   7    8 public class MainActivity extends Activity {   9     protected static final float FLIP_DISTANCE = 50;  10     GestureDetector mDetector;  11   12     @Override  13     protected void onCreate(Bundle savedInstanceState) {  14         super.onCreate(savedInstanceState);  15         setContentView(R.layout.activity_main);  16   17         mDetector = new GestureDetector(this, new OnGestureListener() {  18   19             @Override  20             public boolean onSingleTapUp(MotionEvent e) {  21                 // TODO Auto-generated method stub  22                 return false;  23             }  24   25             @Override  26             public void onShowPress(MotionEvent e) {  27                 // TODO Auto-generated method stub  28   29             }  30   31             @Override  32             public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {  33                 // TODO Auto-generated method stub  34                 return false;  35             }  36   37             @Override  38             public void onLongPress(MotionEvent e) {  39                 // TODO Auto-generated method stub  40   41             }  42   43             /** 44              *  45              * e1 The first down motion event that started the fling. e2 The 46              * move motion event that triggered the current onFling. 47              */  48             @Override  49             public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {  50                 if (e1.getX() - e2.getX() > FLIP_DISTANCE) {  51                     Log.i("TAG", "<--- left, left, go go go");  52                     return true;  53                 }  54                 if (e2.getX() - e1.getX() > FLIP_DISTANCE) {  55                     Log.i("TAG", "right, right, go go go --->");  //忽然觉得这个log好智障...56                     return true;  57                 }  58                 if (e1.getY() - e2.getY() > FLIP_DISTANCE) {  59                     Log.i("TAG", "向上滑...");  60                     return true;  61                 }  62                 if (e2.getY() - e1.getY() > FLIP_DISTANCE) {  63                     Log.i("TAG", "向下滑...");  64                     return true;  65                 }  66   67                 Log.d("TAG", e2.getX() + " " + e2.getY());  68   69                 return false;  70             }  71   72             @Override  73             public boolean onDown(MotionEvent e) {  74                 // TODO Auto-generated method stub  75                 return false;  76             }  77         });  78     }  79   80     @Override  81     public boolean onTouchEvent(MotionEvent event) {  82         return mDetector.onTouchEvent(event);  83     }  84 }

 

转载于:https://www.cnblogs.com/Sharley/p/7807999.html

你可能感兴趣的文章
Python学习笔记(3):数据集操作-列的统一操作
查看>>
在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView
查看>>
SqlSugar-执行Sql语句查询实例
查看>>
excel随机函数
查看>>
man curl_easy_perform(原创)
查看>>
常用“开发软件包“下载地址
查看>>
Android属性动画完全解析(上),初识属性动画的基本用法
查看>>
Android JNI -基础篇
查看>>
poi设置excel表格边框、字体等
查看>>
喷默打印机安装
查看>>
[Android Pro] 完美Android Cursor使用例子(Android数据库操作)
查看>>
特征选择和特征理解 (转)
查看>>
数据库 Oracle数据库对象一
查看>>
2016年终总结
查看>>
Jenkins 安装及使用
查看>>
ARGB_8888
查看>>
Java反射机制详解
查看>>
很好的DP思路,字符串比较次数
查看>>
delegate和event的区别 (zz)
查看>>
ActiveMQ HelloWorld入门
查看>>