Come è possibile ascoltare quando viene premuto e rilasciato uno Button
?listener per premere e rilasciare un pulsante
risposta
È possibile utilizzare un onTouchListener
:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
// PRESSED
return true; // if you want to handle the touch event
case MotionEvent.ACTION_UP:
// RELEASED
return true; // if you want to handle the touch event
}
return false;
}
});
L'evento 'MotionEvent.ACTION_CANCEL' deve anche essere gestito come evento di rilascio pulsante (allo stesso modo di 'ACTION_UP') quando viene attivato quando si esegue un gesto dopo aver premuto il pulsante (l'evento' ACTION_UP' non viene attivato in questo caso). – user2137020
Se qualcuno si sta chiedendo, su una Vista normale, questi non corrispondono a "ACTION_BUTTON_PRESS" e "ACTION_BUTTON_RELEASE". Pensato che quei due potrebbero comprendere le azioni 'DOWN',' UP' e 'CANCEL'. –
onTouchListener
è quello che state cercando.
È necessario utilizzare lo MotionEvent
corretto.
Ciò consentirà di gestire i diversi tipi di "tocchi".
La risposta fornita da fiddler è corretta per le viste generiche.
Per un Button
, si dovrebbe tornare false
dal touch gestore sempre:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()) {
case MotionEvent.ACTION_DOWN:
// PRESSED
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
// RELEASED
break;
}
return false;
}
});
Se si torna true
si aggirare regolare elaborazione tocco del pulsante. Il che significa che perderai gli effetti visivi della pressione del pulsante e dell'increspatura del tocco. Inoltre, Button#isPressed()
restituirà false
mentre il pulsante viene effettivamente premuto.
L'elaborazione del tocco regolare del pulsante consente di ottenere gli eventi di follow-up anche quando si restituisce false
.
- 1. Pulsante Android selezionare e premere drawable
- 2. Distingue tra timeout dello schermo e pulsante di accensione-premere?
- 3. Pulsante rotondo in Android .. evitare di premere "fuori" il pulsante?
- 4. Aggiorna visualizzazione contenitore sul pulsante Premere
- 5. Come disattivare l'ombreggiatura del pulsante sul pulsante premere UIButton?
- 6. premere il pulsante per aprire la pagina web da app
- 7. EnterKey per premere il pulsante in VBA Userform
- 8. Come premere due volte un pulsante con Google UiAutomator?
- 9. Come incrementare una variabile JavaScript usando un pulsante premere evento
- 10. Come fare un pulsante div flip on premere?
- 11. Come convertire un tasto Invio Premere un tasto Tasto Premere per le pagine Web
- 12. Aggiorna dati da MYSQL, PHP per rilasciare il pulsante
- 13. Come trascinare e rilasciare un pulsante da un pannello a un altro pannello?
- 14. Pulsante Escludi dal listener di eventi OnClick
- 15. click listener su widget Android Pulsante
- 16. Ho bisogno di trovare e premere un pulsante su una pagina web usando VBA
- 17. OnCompletion listener con MediaPlayer
- 18. Listener di azioni su un pulsante di opzione
- 19. Controllo premere "pulsante indietro" e disabilitare chiudere l'applicazione utilizzando una finestra di dialogo per confermare - wp7
- 20. Premere Invio per continuare
- 21. Double callback onMenuOpened/onPanelClosed su ciascun pulsante del menu premere
- 22. Come rendere un listener per un pulsante di annullamento di datepickers in Android?
- 23. Ok per rilasciare un puntatore thats nil?
- 24. Listener socket per IPv6 e IPv4
- 25. Come rilasciare un blocco
- 26. Attività fotocamera predefinita non finita Su OK pulsante premere
- 27. Trascinare e rilasciare in Tkinter?
- 28. Trascinare il trascinamento e rilasciare
- 29. Stash Git applicare e rilasciare
- 30. Come aspettare 20 secondi per l'utente per premere un tasto?
controllare per onTouchListiner – vinaykumar