2012-06-17 4 views
5

Chcę zwiększyć obszar klikalny mojego przycisku (ImageView). Ale nie chcę tego odzwierciedlić wizualnie. Wygląda na to, że przycisk jest mały (brak marginesu, dopełnienia itp.), Ale obszar klikalny jest duży.Dodaj większą przezroczystą nakładkę, aby zwiększyć obszar klikalności, bez zmiany układu.

enter image description here

Jedyne co mogę myśleć o kładzie całe układ w RelativeLayout i dodać nakładki programowe do drugiego „warstwa”. Oblicz margines na lewo i margines z matematyki.

Czy istnieje lepsze podejście?

już wyglądało tutaj Expand clickable area of an ImageView by using padding?

lub tutaj Making a button easier to click

i kilka innych, ale oni zawsze zmienić układ dodając wyściółkę lub przezroczyste obszary obrazu, nie chcę tego robić.

Odpowiedz

4

Użyj TouchDelegate, jak określono w tych blogach:

Istotą jest to, że można zdefiniować TouchDelegate obiektu i dołączyć go do widget, aby zwiększyć obszar dotykowy bez wpływu wizualnego.

+1

To prawie, ale nie dokładnie to, czego szukam. Różnica polega na tym, że obszar jest ograniczony do granic widoku rodzica i szukam czegoś, co nie jest do niego ograniczone. Ale użyję tego, będzie to łatwe do wdrożenia i poprawi wystarczająco "wrażliwość" moich poglądów. Sądzę, że w innym przypadku muszę to programowo wdrożyć i nie jest to w tym przypadku warte zachodu. – Ixx

+0

@CommonsWare Ten drugi link jest nieprawidłowy. –

Powiązane problemy