Как расширить зону касания вида

У меня есть вертикальный LinearLayout . Он должен действовать как быстрый прыжок. Таким образом, ширина очень мала, а высота соответствует почти всей высоте экрана. Когда я касаюсь его и передвигаюсь внутри, все в порядке. Это значит, мой onTouchEvent() вызывается, и я могу получить (и следовать) положение пальца. Но так как панель не очень широкая, пользователь может легко дрейфовать за пределами этого вида. Таким образом, было бы необходимо, чтобы пользователь продолжал движение, даже если вне представления. На самом деле то же самое, что и ListView .

Я не знаю, почему onTouchEvent() ListView onTouchEvent() даже вне onTouchEvent() ListView , но не в случае с LinearLayout . Я отследил его до dispatchTouchEvent() . Здесь ситуация такая же, что метод всегда вызывается для ListView (даже если он находится снаружи), но не в случае LinearLayout (при перемещении за пределы).

Я был бы очень рад, если бы кто-нибудь мог дать мне подсказку. Большое спасибо!

Бернд

Вы можете использовать функцию TouchDelegate Android. Он поддерживает большую зону касания для отдельных видов. Вот пример: https://stackoverflow.com/a/1343796/636579

Я думаю, что вам следует попытаться увеличить заполнение вида со всех сторон, чтобы при щелчке рядом с представлением в области прокладки будет вызываться метод ontouch или onClick

 android:padding="10dp"