Android之View的事件體系

2021-07-22 13:48:04 字數 1223 閱讀 1677

velocitytracker,gesturedetector,scroller

1.velocitytracker

速度追蹤

在ontouch中新增

@override

public boolean ontouch(view v, motionevent event)

不過回頭一看,發現書中是放在ontouchevent中的,然後查了一下其中的區別

ontouch()方法是view的ontouchlistener介面中定義的,而ontouchevent()方法是activity的方法。其中的傳遞過程是先ontouch(),然後ontouchevent(),如果在ontouch中fanhui的是true,則不會傳給ontouchevent()方法

摘抄於下

【1.ontouch方法:

ontouch方法是view的 ontouchlistener藉口中定義的方法。

當乙個view繫結了ontouchlister後,當有touch事件觸發時,就會呼叫ontouch方法。

(當把手放到view上後,ontouch方法被一遍一遍地被呼叫)

2.ontouchevent方法:

ontouchevent方法是override 的activity的方法。

重新了activity的ontouchevent方法後,當螢幕有touch事件時,此方法就會別呼叫。

(當把手放到activity上時,ontouchevent方法就會一遍一遍地被呼叫)

3.touch事件的傳遞:

在乙個activity裡面放乙個textview的例項tv,並且這個tv的屬性設定為 fill_parent

在這種情況下,當手放到螢幕上的時候,首先會是tv響應touch事件,執行ontouch方法。

如果ontouch返回值為true,

表示這個touch事件被ontouch方法處理完畢,不會把touch事件再傳遞給activity,

也就是說ontouchevent方法不會被呼叫。

(當把手放到螢幕上後,ontouch方法被一遍一遍地被呼叫)

如果ontouch的返回值是false,

表示這個touch事件沒有被tv完全處理,ontouch返回以後,touch事件被傳遞給activity,

ontouchevent方法被呼叫。】

2.gesturedetector

手勢檢測,使用雙擊時用該物件比較好

Android事件分發之View番外篇

如果view同時設定了onclick和onlongclick事件,最終會有什麼效果?結論 當onlongclick返回true時,onclick方法不會執行,當前onlongclick返回false時,onclick和onlongclick都會執行!具體是這樣的,我簡單用語言描述一下,後面貼上關鍵的...

Android開發藝術筆記 View的事件體系

根據上圖,可以得出view的寬高和座標的關係 width right left height bottom top 關於如何得到view的這四個引數,在view的原始碼中它們對應於mleft mright mtop和mbottom這四個成員變數,獲取方式 概念 速度追蹤,用於追蹤手指在滑動過程中的速...

View的事件體系之View的位置引數

如圖所示,為view的位置座標與父容器的關係圖,此圖 於老任的 android開發藝術探索 這本書,感興趣的同學可以去看下,以此我們來簡單介紹下view的位置引數的相關知識。首先是4個基本屬性top left right bottom 如圖,這幾個屬性,都是view相對于父容器的資訊 top 左上角...