一个activity中new一个GestureDetector之后,里面会实现一下的方法:
onSingleTapUp
onShowPress
onScroll
onLongPress
onFling
onDown
说一下这些方法都是由那些MotionEvent触发的
今天的项目用到了onSingleTapUp和onShowPress和onLongPress和onFling;
//用户(轻触触摸屏后)松开,由一个1个MotionEvent ACTION_UP触发
onSingleTapUp 这个事件执行的顺序是onDown-》onShowPress-》onSingleTapUp
// 用户轻触触摸屏,尚未松开或拖动,由一个1个MotionEvent ACTION_DOWN触发
// 它与onDown()的区别,强调的是没有松开或者拖动的状态
onShowPress
而onDown也是由一个MotionEvent ACTION_DOWN触发的,但是他没有任何限制,也就是说当用户点击的时候,首先MotionEvent ACTION_DOWN,onDown就会执行,如果在按下的瞬间没有松开或者是拖动的时候onShowPress就会执行,如果是按下的时间超过瞬间(这块我也不太清楚瞬间的时间差是多少,一般情况下都会执行onShowPress),拖动了,就不执行onShowPress。
// 用户长按触摸屏,由多个MotionEvent ACTION_DOWN触发
onLongPress 这个事件执行的顺序是onDown-》onShowPress-》onLongPress
// 用户按下触摸屏、快速移动后松开,由1个MotionEvent ACTION_DOWN, 多个ACTION_MOVE, 1个ACTION_UP触发
onFling
另外需要说的一点就是:
如果你是在一个大的view上装载了一个一个的小view,如果你想让大的view有界面动态效果(比如左右向下滑动),那么你必须将这些小的view加入setOnTouchListener,然后你可以在OnTouchListener方法中加入如下方法将你的MotionEvent事件传到gestureDetector中。如下:
- switch (event.getAction()) {
- case MotionEvent.ACTION_MOVE: {
- gestureDetector.onTouchEvent(event);
- break;
- }
- case MotionEvent.ACTION_UP: {
- v.setPressed(false);
- Log.i("cat", "CCCCCCCCCCCCCCCC");
- gestureDetector.onTouchEvent(event);
-
- return true;
- }
- case MotionEvent.ACTION_DOWN: {
- v.setPressed(true);
- gestureDetector.onTouchEvent(event);
- break;
- }
- }
分享到:
相关推荐
NULL 博文链接:https://trylovecatch.iteye.com/blog/1189708
ViewFlipper+OnGestureListener+动画.实现了手势监听。
这是关于android手势的代码OnGestureListener+OnDoubleTapListener 两个接口可以用来实现手势
【Android】滑动屏幕效果GestureDetector、OnGestureListener、ViewFlipper
android手势识别两个对勾手势 OnGestureListener手势识别 可用于加载手势库
下面小编就为大家带来一篇详谈OnTouchListener与OnGestureListener的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
通过GestureDetector的构造方法可以将SimpleOnGestureListener对象传递进去,这样GestureDetector能处理不同的手势了。
手势操作 SimpleOnScaleGestureListener,OnTouchListener,OnGestureListener
不适用click而用touch 自定义监听: class myOnGestureListener extends GestureDetector.SimpleOnGestureListener { @Override public boolean onDoubleTap(MotionEvent e) { //点赞 mLoadingListener....
android4.0以上 左右滑动 删除. OnTouchListener OnGestureListener
GestureDetector的实现 (GestureDetector.OnDoubleTapListener GestureDetector.OnGestureListener) 对应资源
简单的listview侧滑监听,使用了GestureDetector,OnTouchListener,OnGestureListener等
简单的listview侧滑监听demo,使用OnGestureListener以及OnTouchListener来传递手势
Android为手势检测提供了一个GestureDetector类,GestureDetector实例代表了一个手势检测器,创建GestureDetector时需要传入一个GestureDetector.OnGestureListener实例,其中GestureDetector.OnGestureListener...
3. 通过GestureDetector(手势识别器)转发次MotionEvent对象至OnGestureListener。 4. OnGestureListener获得该对象,听根据该对象封装的的信息,做出合适的反馈。 这个顺序可以说就是手势交互的原理,下面一同来...
在Android系统中,手势的识别是通过GestureDetector.OnGestureListener接口来实现的,不过William翻遍了Android的官方文档也没有找到一个相关的例子,API Demo中的TouchPaint也仅仅是提到了onTouch事件的处理,没有...
本功能使用Fragment+FragmentTabHost实现tab的点击切换屏幕,再加上监听OnGestureListener,实现其onFling方法,完成滑动切屏。简单易懂的一个程序。
利用viwflipper来将多个activity封装在一个view中,通过实现OnGestureListener接口的onTouchEvent()方法和onFling() 方法,即可通过手持滑动切换activity。