第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問為什么要在ACTION_DOWN返回true

請問為什么要在ACTION_DOWN返回true,聽老師說是把觸摸事件傳遞到自己本省并處理,可這個怎么理解,因為我還沒去了解Android控件的事件分發(fā)機制

正在回答

1 回答

首先事件指的是觸摸事件,分發(fā),為什么要分發(fā)呢,就像你給自己的外甥發(fā)紅包一樣,這樣也叫分發(fā),那么這樣就有viewgroup,viewgroup里面有子view,ViewGroup的相關事件有三個:onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent。View的相關事件只有兩個:dispatchTouchEvent、onTouchEvent。

簡單的來說就是viewgroup遍歷自己的子view,如果子view中有viewgroup,就繼續(xù)遍歷這個viewgroup的子view,都是調用的dispatchTouchEvent來分發(fā)事件,dispatchTouchEvent會返回一個布爾值類型的參數,事件會一直分開,一直在某個view調用dispatchTouchEvent返回true,表示事件分發(fā)到此結束,返回true的這個view就是需要接受這個事件的view,

ViewGroup的dispatchTouchEvent是真正在執(zhí)行“分發(fā)”工作,而View的dispatchTouchEvent方法,并不執(zhí)行分發(fā)工作,或者說它分發(fā)的對象就是自己,決定是否把touch事件交給自己處理,而處理的方法,便是onTouchEvent事件,這里說到了view的onTouchEvent事件是這個時候開始執(zhí)行,那么viewgroup的onTouchEvent什么時候執(zhí)行呢?,當所有的子view調用dispatchTouchEvent都是返回false的時候,這個時候viewgroup的onTouchEvent就會執(zhí)行

事實上,一次完整的Touch事件,應該是由一個Down、一個Up和若干個Move組成的

但是dispatchTouchEvent只是分發(fā)了Down事件,只有返回true的時候,證明這個view需要 這個事件,然后在繼續(xù)分發(fā)Up和Move事件給它


0 回復 有任何疑惑可以回復我~
#1

PogbaLIU 提問者

你好,那么ViewGroup的dispatchTouchEvent的布爾返回值是true還是false?
2017-02-19 回復 有任何疑惑可以回復我~
#2

Listener呆 回復 PogbaLIU 提問者

只要事件傳遞到了當前View,那么dispatchTouchEcent方法就一定會被調用。返回結果表示是否消耗當前事件返回true表示你這個view要消耗掉這個事件,返回false那么繼續(xù)傳遞給子view
2017-02-21 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android-五子連珠
  • 參與學習       38999    人
  • 解答問題       174    個

Android游戲開發(fā)-五子連珠,本教程通過UI與邏輯實現雙人對戰(zhàn)

進入課程

請問為什么要在ACTION_DOWN返回true

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號