Android studio开发中,监控手指的滑动方向,并做出相应的响应事件

来源:互联网 发布:淘宝搜索排名规则2017 编辑:程序博客网 时间:2024/04/30 12:21
  1. public class MainActivity extends Activity implements  android.view.GestureDetector.OnGestureListener  
  2. {  
  3.     //定义手势检测器实例  
  4.     GestureDetector detector;  
  5.       
  6.     @Override  
  7.     protected void onCreate(Bundle savedInstanceState)  
  8.     {  
  9.         super.onCreate(savedInstanceState);  
  10.         setContentView(R.layout.cb_main);  
  11.         //new一个手势检测器  
  12.         detector = new GestureDetector(this,this);   
  13.     }  
  14.   
  15.     //用GestureDetector处理该activity上发生的所有触碰事件
  16.     public boolean onTouchEvent(MotionEvent me){  
  17.         return detector.onTouchEvent(me);  
  18.     }  
  19.       
  20.     @Override  
  21.     public boolean onDown(MotionEvent arg0) {  
  22.         return false;  
  23.     }  
  24.   
  25.     /** 
  26.      * 滑屏监测 
  27.      *  
  28.      */  
  29.     @Override  
  30.     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  
  31.             float velocityY) {  
  32.         float minMove = 120;         //定义最小滑动距离  
  33.         float minVelocity = 0;      //定义最小滑动速度  
  34.         float beginX = e1.getX();       
  35.         float endX = e2.getX();  
  36.         float beginY = e1.getY();       
  37.         float endY = e2.getY();  
  38.           
  39.         if(beginX-endX>minMove&&Math.abs(velocityX)>minVelocity){   //左滑  
  40.             Toast.makeText(this,"左滑",Toast.LENGTH_SHORT).show();  //此处可以更改为当前动作下你想要做的事情
  41.         }else if(endX-beginX>minMove&&Math.abs(velocityX)>minVelocity){   //右滑  
  42.             Toast.makeText(this,"右滑",Toast.LENGTH_SHORT).show();  //此处可以更改为当前动作下你想要做的事情
  43.         }else if(beginY-endY>minMove&&Math.abs(velocityY)>minVelocity){   //上滑  
  44.             Toast.makeText(this,"上滑",Toast.LENGTH_SHORT).show();  //此处可以更改为当前动作下你想要做的事情
  45.         }else if(endY-beginY>minMove&&Math.abs(velocityY)>minVelocity){   //下滑  
  46.             Toast.makeText(this,"下滑",Toast.LENGTH_SHORT).show();  //此处可以更改为当前动作下你想要做的事情
  47.         }  
  48.           
  49.         return false;  
  50.     }  
  51.   
  52.     @Override  
  53.     public void onShowPress(MotionEvent arg0) {  
  54.         // TODO Auto-generated method stub  
  55.           
  56.     }  
  57.   
  58.     @Override  
  59.     public boolean onSingleTapUp(MotionEvent arg0) {  
  60.         // TODO Auto-generated method stub  
  61.         return false;  
  62.     }  
  63.   
  64.     @Override  
  65.     public void onLongPress(MotionEvent arg0) {  
  66.         // TODO Auto-generated method stub  
  67.           
  68.     }  
  69.   
  70.     @Override  
  71.     public boolean onScroll(MotionEvent e1, MotionEvent e2, float velocityX,  
  72.             float velocityY) {  
  73.       
  74.         return false;  
  75.     }  
  76.   
  77. }  
阅读全文
0 0
原创粉丝点击