Posso trovare getX(), e getY() restituiscono entrambi un float. Ma come faccio a sapere se le coordinate di un TouchEvent e.get(), e.getY() sono entro i limiti dell'elemento UI EditText? Notiamo getX() e getY() sono float ma getHeight() e getWidth() sono int. Non sarà di aiuto per i confronti ...Come posso rilevare se un evento tattile è atterrato in un EditText?
risposta
Che cosa esattamente vuoi fare? Se vuoi solo rilevare se il tuo EditText è stato toccato, aggiungi un OnTouchListener a EditText ... o anche a OnClickListener.
Edit: Se si vuole rilevare al di fuori, è possibile rilevare evento di tocco nella vista che contiene, e poi, dato che avete la vostra vista EditText:
Rect editTextRect = new Rect();
myEditText.getHitRect(editTextRect);
if (!editTextRect.contains((int)event.getX(), (int)event.getY())) {
Log.d("test", "touch not inside myEditText");
}
O si aggiunge un tocco ascoltatore sia al EditText e il contenitore, e restituisce falso in quello di EditText, in questo modo verrà intercettato e non inoltrato al genitore. Quindi, tutti i tocchi che si rilevano nell'ascoltatore del genitore, non apparterranno a EditText.
L'inverso di quello. Rileva se si è verificato un evento di tocco all'esterno di EditText. –
Ma "dentro" non significa "dentro", o il mio inglese è sbagliato? – Ixx
Ok. Penso che sia fondamentalmente giusto. Ma vorrei chiarimenti su ciò che il container riceverà. Il debug sembra indicare che gli elementi contenuti come EditText divorano i loro eventi tattili e non si presentano come bolle al contenitore. Ogni altro elemento dell'attività come le caselle di controllo ecc. Inghiotte (non inghiottire) l'evento tattile che atterra nella loro zona. Forse la loro è qualche impostazione nel manifest per dire ad un elemento contenuto di bombardare i suoi eventi touch o sarebbe necessario sovrascrivere un metodo per farlo? –
- 1. Come attivare un evento tattile?
- 2. Come posso rilevare l'input tattile su Android
- 3. Come posso rilevare il supporto tattile del dispositivo in JavaScript?
- 4. Come rilevare se edittext ha caratteri inglesi
- 5. Come posso rilevare un evento KeyPress in UITextField?
- 6. Come posso rilevare se un prodotto firewall è abilitato?
- 7. Come posso rilevare se un iframe è stato caricato?
- 8. Come posso rilevare se un utente è lontano dalla tastiera?
- 9. Come rilevare se è presente un microfono
- 10. Come posso rilevare se Dispatcher.DisableProcessing è attivo?
- 11. Come posso rilevare un evento del browser "copia immagine"?
- 12. Come rilevare se un dato numero è un numero intero?
- 13. Come posso rilevare se un'unità ha un cestino in C#?
- 14. Come rilevare se un microfono è presente in Android?
- 15. come posso rilevare se window.location non è riuscito?
- 16. In C#, come posso rilevare se un carattere è un carattere non ASCII?
- 17. Rilevare se un elemento è realmente visibile
- 18. Rilevare se NSString è un numero float
- 19. rilevare se un oggetto è vuoto
- 20. Come passare un evento tattile da un UIView agli UIView (s) sotto di esso?
- 21. Come rilevare se un utente si è disconnesso, in php?
- 22. Come posso rilevare se l'IDE Delphi specifico è in esecuzione?
- 23. Come posso rilevare se un selettore restituisce null?
- 24. Come posso rilevare se un dispositivo iOS supporta l'effetto sfocatura?
- 25. Come posso rilevare un palindromo in C?
- 26. Come posso rilevare se un browser supporta MJPEG?
- 27. Come posso rilevare se l'utente è su localhost in PHP?
- 28. Come posso rilevare un evento click su una mappa google attraverso un overlay?
- 29. Come posso ritardare un evento in xcode?
- 30. Come posso rilevare un palindromo in ebraico?
Cosa hai provato? Io ** consiglio vivamente di leggere la [documentazione di OnTouchListener] (http://developer.android.com/reference/android/view/View.OnTouchListener.html) ... – Sam
Modificato il mio post. – Ixx
Quello che ho provato è qualcosa chiamato "pensa prima di codificare" –