【安卓】事件处理
屏幕的直角坐标系,左上角是原点,x轴向右,y轴向下
onKeyDown、onKey区别
Onkeydown 只能在activity代码中使用、只能检测物理按键、不区分按下和松开操作。
onkey 可同时检测两类按键。
连续两次返回退出程序:实现方式是拦截后退出
音量调节事件
由于不再Activity中,所以不能用onkeydown方法检测按键。
通过onkeydown弹出音量调节框,然后再给拖动条注册按键监听器OnkeyListener。
触摸事件
手势事件的分发流程
与手势事件有关的方法主要有三个
dispatchTouchEvent:进行事件分发处理
onInterceptTouchEvent:进行事件拦截处理
onTouchEvent:进行事件触摸处理
方法的执行者主要有三个:
- 页面类:包括activity及其派生类
- 可操作dispatchTouchEvent和onTouchEvent两种方法
- 容器类:包括从ViewGroup类派生出的各类容器与布局
- 可操作dispatchTouchEvent、onInterceptTouchEvent和onTouchEvent
- 控件类:包括从View类派生的各类控件
- 可操作dispatchTouchEvent和onTouchEvent两种方法
常见的手势处理方法
- 容器类的dispatchTouchEvent方法
- 控制事件的分发,决定把手势交给谁处理
- 容器类的onInterceptTouchEvent方法
- 控制事件的拦截,决定是否要把手势交给下级视图处理
- 控件类的onTouchEvent方法
- 进行手势事件的具体处理
手势事件处理MotionEvent机制(触屏)
手势检测
手势检测器 GestureDetector
原理与具体用法
飞掠视图(ViewFlipper)的用法
与viewPager类似,不过飞掠视图更像是视图的立体排列
手势检测和飞掠视图的结合使用
事件冲突处理
1、通过拦截器处理
2、采用抽屉布局。比如viewpager 和fragment 都有上下滑动操作
KeyEvent机制(案件)
skr