如何扩展视图的触摸区域

时间:2012-03-12 13:24:58

标签: android touch extend ontouchevent

我有一个垂直LinearLayout。它应该作为快速跳跃条。因此宽度非常小,高度几乎匹配整个屏幕高度。当我触摸它并在里面移动时,一切都很好。这意味着,我的onTouchEvent()被调用,我可以得到(并跟随)手指的位置。但由于条形图不是很宽,因此用户可以轻松地漂移到该视图之外。因此,即使在视图之外,也必须让用户继续运动。实际上和ListView一样。

我不知道为什么即使在ListView之外也会调用onTouchEvent() ListView ,但在LinearLayout的情况下却不会}}。我将其追溯到 dispatchTouchEvent() 。这里的情况与ListView(即使在外面)的方法总是相同,但在LinearLayout的情况下(在外面移动时)则不一样。

如果有人能给我一个提示,我会很高兴。非常感谢!

贝恩德

2 个答案:

答案 0 :(得分:7)

您可以使用Android的TouchDelegate功能。它支持更大的单一视图触摸区域。以下是一个示例:https://stackoverflow.com/a/1343796/636579

答案 1 :(得分:5)

我认为您应该尝试从各个方向增加视图的填充,以便当用户在填充区域中的视图附近单击时,ontouch或onClick方法将被调用

android:padding="10dp"