Qualcuno può dirmi come evitare le presse al di fuori del cerchio di un pulsante rotondo poiché "wrap_content" non sembra funzionare. Ho usato un file immagine per creare il pulsante. Apprezzo qualsiasi aiuto. Grazie.Android: come evitare le pressioni al di fuori del cerchio di un pulsante rotondo utilizzando il contenuto dell'involucro?
7
A
risposta
4
Solo per la vostra comprensione .. (Di default Android View è in forma di rettangolo in modo da applicare stesso per Button)
Impostare tocco Listener al pulsante e in
onTouch()
mappa XY coordinate per Area del cerchio Se si trova nell'area interna, fare ciò che si desidera altrimenti restituire false.Usa
Inset
un'occhiata a questo tutorial http://www.anotherandroidblog.com/2011/07/01/button-hit-area-for-custom-graphics/Implementare TouchDelegates un'occhiata a questo tutorial http://www.vogella.com/blog/2012/04/15/android-using-touchdelegates/
forse le risposte collegate possono aiutare: (1) http://stackoverflow.com/questions/10266595/how-to-make-a-round-button (2) http://stackoverflow.com/questions/9049868/round-button-in-android-avoid-presses-outside-the-button – rosco
Con un 'bottone' predefinito non è possibile poiché la vista sarà un rettangolo/quadrato. Se crei la tua classe 'Button', puoi determinare se l'utente ha toccato il' Pulsante' al di fuori della cerchia e ignora tale evento. Ci sono alcune domande riguardanti la situazione esatta, lo stackoverflow della ricerca. – Luksprog