android 触摸手势 OnGestureListener

OnGestureListener 可以处理一些简单的触摸手势,比如滑动,长按等,

OnGestureListener不能直接设置侦听的,可以设置OnTouchListener,让其指向OnGestureListener


[java] view plaincopy

  1. public class GestureView extends View implements OnTouchListener, OnGestureListener  

  2. {  

  3.     GestureDetector mGestureDetector;  

  4.   

  5.     public GestureView(Context context)  

  6.     {  

  7.         super(context);  

  8.   

  9.         this.setOnTouchListener(this);  

  10.         mGestureDetector = new GestureDetector(this);  

  11.     }  

  12.   

  13.   

  14.     @Override  

  15.     public boolean onDown(MotionEvent e)  

  16.     {  

  17.         Log.i("@fred""触摸手势:onDown");  

  18.         return true;  

  19.     }  

  20.   

  21.     @Override  

  22.     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)  

  23.     {  

  24.         if (e2.getX() - e1.getX() > 50)  

  25.         {  

  26.             Log.i("@fred""触摸手势:onFling");  

  27.         }  

  28.         return true;  

  29.     }  

  30.   

  31.     @Override  

  32.     public void onLongPress(MotionEvent e)  

  33.     {  

  34.         Log.i("@fred""触摸手势:onLongPress");  

  35.   

  36.     }  

  37.   

  38.     @Override  

  39.     public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)  

  40.     {  

  41.         Log.i("@fred""触摸手势:onScroll");  

  42.         return true;  

  43.     }  

  44.   

  45.     @Override  

  46.     public void onShowPress(MotionEvent e)  

  47.     {  

  48.         Log.i("@fred""触摸手势:onShowPress");  

  49.     }  

  50.   

  51.     @Override  

  52.     public boolean onSingleTapUp(MotionEvent e)  

  53.     {  

  54.         Log.i("@fred""触摸手势:onSingleTapUp");  

  55.         return true;  

  56.     }  

  57.   

  58.   

  59.     @Override  

  60.     public boolean onTouch(View v, MotionEvent event)  

  61.     {  

  62.         // 将MotionEvent事件传到GestureDetector  

  63.          return  mGestureDetector.onTouchEvent(event);  

  64.     }  

  65.   

  66. }  



比如点击一下屏幕:


转载于:https://my.oschina.net/bv10000/blog/187575

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值