2012-03-12 52 views
11

我有一個垂直的LinearLayout。它將作爲一個快速跳轉條。所以寬度非常小,高度幾乎與整個屏幕高度相匹配。當我觸摸它並在裏面移動時,一切都很好。這意味着,我的onTouchEvent()被調用,我可以得到(並跟隨)手指的位置。但由於酒吧不是很寬,用戶可以很容易地在該視野外漂移。因此,即使在視野之外,也需要讓用戶繼續移動。事實上,像ListView一樣。如何擴展視圖的觸摸區域

我不知道爲什麼在我LinearLayout的情況下,ListViewonTouchEvent()甚至在ListView外面時調用,但沒有。我把它追溯到dispatchTouchEvent()。這裏的情況是相同的,即方法總是要求ListView(即使在室外),但不是LinearLayout(當向外移動時)。

如果有人能給我一個提示,我會很高興。非常感謝!

貝恩德

+0

可能的重複[是否有一個如何在Android中使用TouchDelegate的例子來增加視圖的點擊目標的大小?](http://stackoverflow.com/questions/1343222/is-there-an-example-如何使用-de-touch-door-in-android-to-increase-the-siz) – 2012-03-12 13:32:01

回答

7

你可以使用Android的TouchDelegate功能。它支持單個視圖的更大觸摸區域。這裏有一個例子:https://stackoverflow.com/a/1343796/636579

+2

是的,我已經看到了這篇文章,但據我所知只能將它擴展到下一個父級的大小。這意味着,爲了獲得全屏高度,必須評估整個視圖樹。我無法弄清楚ListView如何完成這個技巧。 – Bernd 2012-03-12 13:45:14

5

我認爲你應該嘗試從四面八方增加視圖的填充,這樣,當用戶將在填充的ontouch或OnClick方法的地區將被稱作

android:padding="10dp" 
點擊查看附近
相關問題