Touch事件处理

1、是Android中两种原始事件之一
2、Touch事件的处理方式有两种
1)为事件源添加 onTouchListener监听器
2)重写事件源的 onTouchEvent方法
3、Touch事件处理时,监听器拥有较高的优先级
4、事件处理方法返回值
true:消费此事件,并消费此事件的后续关联事件
false:不消费事件,对此事件的后续事件不感兴趣
5、MotionEvent
主要方法:
int getAction()
float getX()
float getY()
主要常量
int ACTION_DOWN
int ACTION_MOVE
int ACTION_UP
...

Touch事件的派发和处理过程

1、派发:
1)总是从Activity开始向下逐级派发,直到将事件派发给最终的焦点控件
2)事件派发使用Activity或视图对象的 dispatchTouchEvent方法
3)dispatchTouchEvent方法的派发方向:
a-向下一级容器或控件的dispatchTouchEvent中派发
b-向该对象自己的事件处理方法中派发
2、处理
1)总是从最终的焦点控件的事件处理方法开始
2)如果事件被消费则事件处理完成,如果事件未被消费,则传递给其父容器的事件处理方法
以此类推 如果一直未被消费,最终在Activity的onTouchEvent中处理

手势

1、步骤
1)创建类 实现 OnGestureListener
或扩展自 SimpleOnGestureListener
重写相关的手势处理方法
2)使用手势监听器对象 创建一个 GestureDetector(手势探测器)
3)在Touch事件处理方法中 将所有的touch事件传递给GestureDetector
的onTouchEvent方法
2、主要的相关接口和类型
1、OnGestureListener
onFling
onScroll
...
2、OnDoubleTapListener
onDoubleTap
...
3、SimpleOnGestureListener implements
OnGestureListener,OnDoubleTapListener
4、GestureDetector
构造方法:GestureDetector(Context context,OnGestureListener l)
主要方法:
boolean onTouchEvent(MotionEvent event)

更多相关文章

  1. Android实现TextView中部分文字监听事件
  2. android发送模拟按键消息,出现死锁,timeout的解决方法
  3. android 的消息处理
  4. Android(安卓)SimpleAdapter源码详解
  5. Android(安卓)Gson
  6. DataBinding 的简单使用
  7. Android(安卓)事件分发源码分析
  8. Android(安卓)4.4 meminfo 实现分析
  9. Android中的线程与线程池

随机推荐

  1. android 跳转到系统相册选择图片
  2. android异步操作AsyncTask编写文件查看器
  3. android mina 客户端无法接收信息的原因
  4. android按home键不能回到自定义主界面
  5. eclipse配置Android(安卓)sdk 时,网址:htt
  6. Android通过ContentProvider获取通话记录
  7. Android 打开关闭闪光灯(手电筒)
  8. Android:Fragment+ViewPager+FragmentPage
  9. Android学习1:Android开发环境搭建
  10. Android深入浅出学习笔记之进程等级相关