Android: 触屏fling/scroll/drag的区别及其详细过程
来源:互联网 发布:时代互联域名证书 编辑:程序博客网 时间:2024/06/16 18:28
From: http://blog.sina.com.cn/s/blog_3e3fcadd01019c52.html
Google了一下,终于搞清了touch screen下的几种操作模式(对应的是事件)。
对于一个view, 常用的操作有点击(click)和长按(longpress)二种。实际上,这些操作类型是Android内部在onTouchEvent(MotionEventevent)里对用户的动作做了一定的分析,从而通知应用程序是发生了点击还是长按等事件。
有时,我们需要的并不仅限于这两种操作。我们可以借助GestureDetector来分析出更细致的操作类型。基本的过程就是创建一个myGestureDetector对象,传入自己定义的myOnGestureListener对象,在自己的onTouchEvent回调函数中将接收到的event传给myGestureDetector进行分析,myOnGestureListener会回调我们定义的动作。
【 从 GestureDetector.SimpleOnGestureListener派生出myListener会更简单,因为这个类已经实现了全部接口,只是没有什么实际有用的功能。】
参考以下代码(for an Activity):
//-------------------------------------------------------------------------------
private GestureDetectormGestureDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
}
@Override
public boolean onTouchEvent(MotionEvent event) {
}
class MyGestureListener extends GestureDetector.OnGestureListener{//共有6个方法:
}
至于doubletap的检测,可以通过设置mGestureDetector的OnDoubleTapListener来实现:
GestureDetector.OnDoubleTapListenerdoubleTapListener = new GestureDetector.OnDoubleTapListener(){
}
mGestureDetector.setDoubleTapListener(doubleTapListener);
具体地说,典型的触屏事件及其listener执行的流程见下:
1). 单击事件的执行流程:
2). 长按事件
3.抛(fling):手指触动屏幕后,稍微滑动后立即松开:
4.拖动(drag)
0 0
- Android: 触屏fling/scroll/drag的区别及其详细过程
- 触屏fling/scroll/drag的区别及其详细过程
- android touch scroll fling event 测试
- android问题及其解决-优化listView卡顿和如何禁用ListView的fling
- flex list/tilelist drag scroll的speed移动太快
- fling
- fling
- Fling!
- client offset scroll的区别
- Scroller的fling方法详解
- android scroll的小理解
- Android中scroll的原理
- Android View的滚动scroll
- android drag
- android的文件系统结构及其引导过程
- Android 如何提前知道fling velocity的距离、时间 根据滑动距离得到velocity
- Android:Drag and Drop的应用
- scroll、offset和client的区别
- C#(TripleDES)对应Java(3DES)加密工具类
- Linux 输出重定向>和>>的区别是什么?
- Android 实现高仿iOS桌面效果之可拖动的GridView(上)
- listView解决滑动时黑色背景问题
- Cocos2d-X 学习笔记5 Win7 + vs2012 + cocos2d-x2.2 配置开发环境
- Android: 触屏fling/scroll/drag的区别及其详细过程
- cocos2d-x Tiled map editor 创建地图导入项目
- Mysql or Mongodb LBS快速实现方案
- 编码规范系列(一):Eclipse Code Templates设置
- codeforces 476D Dreamoon and Sets(数学)
- 论证是一门学问 如何让你的观点有说服力-7 概括 Generalizations
- 线性回归与梯度下降法
- 修改设备驱动加载顺序
- activiti 学习由浅入深