2012-06-17 8 views
5

Desidero aumentare l'area cliccabile del mio pulsante (ImageView). Ma non voglio che questo si rifletta visivamente. Deve sembrare che il pulsante sia piccolo (nessun margine, padding, ecc.) Ma l'area cliccabile è grande.Aggiungi un overlay trasparente più grande per aumentare l'area cliccabile, senza modificare il layout

enter image description here

L'unica cosa che posso pensare è messo tutto il mio layout in un RelativeLayout e aggiungere le sovrapposizioni a livello di codice per un secondo "livello". Calcola margine a sinistra e margine superiore con matematica.

C'è un approccio migliore?

ho già guardato qui Expand clickable area of an ImageView by using padding?

o qui Making a button easier to click

e alcuni altri ma cambiano sempre il layout aggiungendo imbottitura o aree trasparenti per l'immagine, io non voglio farlo.

risposta

4

Utilizzare un TouchDelegate, come delineato in questi post del blog:

Il succo è che si può definire un oggetto TouchDelegate e allegarlo al un widget per aumentare la sua area di tocco, senza avere un impatto visivo.

+1

Questo è quasi, ma non esattamente quello che sto cercando. La differenza è che l'area è limitata ai limiti della vista genitore e sto cercando qualcosa che non sia limitato ad esso. Ma userò questo, è facile da implementare e migliorerà abbastanza la "capacità di intoccabilità" dei miei punti di vista. Suppongo di doverlo implementare programmaticamente e non ne vale la pena, in questo caso. – Ixx

+0

@CommonsWare Il secondo collegamento non è valido. –

Problemi correlati