当前位置:天才代写 > tutorial > 安卓教程 > Android Touch事件传递机制

Android Touch事件传递机制

2021-02-24 12:26 星期三 所属: 安卓教程 浏览:1142

1、基本知识

(1) 全部Touch事情都被封裝变成MotionEvent目标,包含Touch的部位、時间、历史数据及其第几个手指头(常指触碰)等。

 

(2) 事情种类分成ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_POINTER_DOWN, ACTION_POINTER_UP, ACTION_CANCEL,每一个事情全是以ACTION_DOWN逐渐ACTION_UP完毕。

 

(3) 对事情的解决包含三类,各自为传送——dispatchTouchEvent()涵数、阻拦——onInterceptTouchEvent()涵数、消費——onTouchEvent()涵数和OnTouchListener

 

2、传送步骤

(1) 事情从Activity.dispatchTouchEvent()逐渐传送,只需沒有被终止或阻拦,从顶部的View(ViewGroup)逐渐一直向下(子View)传送。子View能够根据onTouchEvent()对事情开展解决。

 

(2) 事情由父View(ViewGroup)传送给子View,ViewGroup能够根据onInterceptTouchEvent()对事情做阻拦,终止其向下传送。

 

(3) 假如事情从上向下传送全过程中一直沒有被终止,且底层子View沒有消費事情,事情会反憧憬上传送,这时候父View(ViewGroup)能够开展消費,假如還是沒有被消費得话,最终会到Activity的onTouchEvent()涵数。

 

(4) 假如View沒有对ACTION_DOWN开展消費,以后的别的事情不容易传送回来。

 

(5) OnTouchListener优先选择于onTouchEvent()对事情开展消費。

 

上边的消費即表明相对函数返回值为true。

 

大量请立即阅读文章PDF英语全文:MasteringtheAndroidTouchSystem,实例编码:Demo@Github。有哪些难题能够这儿留言板留言。

 

另附二张文中流程表

(1) View不事件处理流程表

view-ignore-touch-event-example

view-ignore-touch-event-example

 

(2) View事件处理流程表

view-process-touch-event-example

view-process-touch-event-example

 

    关键字:

天才代写-代写联系方式