Android: расширение кликабельной зоны ImageView

У меня есть небольшое изображение, отображаемое в LinearLayout с некоторым запасом справа и слева. Моя проблема заключается в том, что маржа не доступна. Как я могу отобразить пробел справа и слева от моего представления, используя это дополнительное пространство для расширения моей интерактивной зоны?

3 ответа

Это делается в приложении Google IO 2011 Schenduling, используя TouchDelegate. Взгляните на Activity, который использует его так:

// Larger target triggers star toggle
final View starParent = mRootView.findViewById(R.id.header_session);
FractionalTouchDelegate.setupDelegate(starParent, mStarred, new RectF(0.6f, 0f, 1f, 0.8f));

Реализация TouchDelegate реализована здесь. Он с открытым исходным кодом и должен быть легко импортироваться в ваш проект.

Удачи, Надеюсь это поможет!


Просто добавьте родительский макет и установите, например, 20dp больший размер ширины и высоты

И затем установите одинаковое расположение макета и вашего изображения. установить также кликабельную макет и кнопку


Я думаю, что использование дополнения вместо поля позволит вам предоставить вашему товару больше места, а также позволить ему быть кликабельным.

Посмотрите на это описание полей и отступов: разница между запасом и маркой вида

Изменить: попробуйте использовать андроид: src для изображения, установите андроид: background = "@null" и увеличьте общий размер объекта ImageButton. В этот момент я даже не уверен, что вам понадобится прокладка. Вы можете просто изменить высоту и ширину, если это необходимо, с помощью изображения src, расположенного в центре ImageButton.

                            

licensed under cc by-sa 3.0 with attribution.