1. 程式人生 > >view的onTouch事件不響應MOVE,up的解決辦法

view的onTouch事件不響應MOVE,up的解決辦法

如果要監聽手勢,一般會想到onTouch,但是我們發現View的onTouch事件只是相應action-down。

原因:onTouch中return false。

解決辦法:1, return true

2、在xml佈局里加上  android:longClickable="true"

這兩者並不完全是等價的。

return true就意味著該view會繼續處理擡起事件,而不會將此時間傳遞給父View---------這也意味著只有一個view可以繼續監聽touch事件

因此必須注意ontouch事件的傳遞過程。由子view傳給父view,如果return false,可以傳給父view,true則不能。

手勢最好在activity中的dispatchTouchEvent中做,這個是無法被子view遮蔽的。

另外onTouch如果返回true,則不能監聽onClick