Comment détecter la durée d'un événement tactile Android 2.1? Je voudrais répondre seulement si la région a été pressée pendant 5 secondes?Android Touch Déterminer la durée de l'événement
6
A
Répondre
12
Vous pouvez essayer de mélanger MotionEvent
et Runnable
/Handler
pour y parvenir.
Exemple de code:
private final Handler handler = new Handler();
private final Runnable runnable = new Runnable() {
public void run() {
checkGlobalVariable();
}
};
// Other init stuff etc...
@Override
public void onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
// Execute your Runnable after 5000 milliseconds = 5 seconds.
handler.postDelayed(runnable, 5000);
mBooleanIsPressed = true;
}
if(event.getAction() == MotionEvent.ACTION_UP) {
if(mBooleanIsPressed) {
mBooleanIsPressed = false;
handler.removeCallbacks(runnable);
}
}
}
Maintenant, il vous suffit de vérifier si mBooleanIsPressed
est true
dans la fonction checkGlobalVariable()
.
Une idée je suis venu avec quand j'écrivais cela était d'utiliser horodatages simples (par exemple System.currentTimeMillis()
) pour déterminer la durée entre MotionEvent.ACTION_DOWN
et MotionEvent.ACTION_UP
.
8
Vous ne pouvez pas utiliser les horodatages unix dans ce cas. Android propose sa propre mesure de temps.
long eventDuration =
android.os.SystemClock.elapsedRealtime()
- event.getDownTime();
21
long eventDuration = event.getEventTime() - event.getDownTime();
Questions connexes
- 1. Comment déterminer Asp.Net Durée de la séance
- 2. Pycurl: comment déterminer la durée d'une requête
- 3. déterminer la durée d'un événement en Python
- 4. Rails/Devise: déterminer la durée totale de connexion de l'utilisateur
- 5. Est-il possible de déterminer la durée d'une instruction?
- 6. Comment déterminer la durée de vie du domaine d'application ASP.NET
- 7. android obtenir la durée de maps.google.com directions
- 8. Détermination de la durée d'immobilisation d'une touche
- 9. Comment puis-je déterminer la durée des fichiers multimédias?
- 10. Android- dynamic overridePendingTransition durée
- 11. Application Android longue durée
- 12. Android Multi-touch zoom
- 13. Durée raisonnable pour déterminer l'emplacement de l'utilisateur iPhone
- 14. Aide multi-touch Android
- 15. Multi Touch [Android]
- 16. Android Live Wallpaper Hiérarchie des événements Touch
- 17. Simplement la programmation multi-touch pour Android
- 18. Comment contrôler la durée de la transition dans ImageSwitcher Android
- 19. dernière durée d'appel sortant android
- 20. Android TextView durée largeur programme
- 21. Android longue durée écouteur socket
- 22. Calculer la durée
- 23. durée android pain grillé personnalisé
- 24. Android: simuler une longue durée
- 25. Android touch and scroll Listview
- 26. Durée réelle de la note de la durée MIDI
- 27. Durée de vie d'un widget d'application Android
- 28. PhoneGap + Android Emulator + Sencha Touch
- 29. Durée de l'événement du calendrier Android (API)
- 30. Activité/service de longue durée Android
Ok. C'est quelque chose dont j'ai besoin sur la plupart de mes écrans d'activité. Comment activer l'écoute sur l'écran d'activité. J'ai implémenté le programme d'écoute onTouchEvent dans l'activité, mais comment l'activer pour l'activité, de sorte que l'onTouchEvent soit appelé lorsque l'utilisateur touche l'écran d'activité. Merci – Androider
La plupart des exemples sont en termes de toile, etc. Mon onTouchEvent ne reçoit pas d'appel quand l'utilisateur touche l'écran d'activité – Androider
@Androider: Peut-être que vous cherchez http://developer.android.com/reference/android/app/Activity .html # dispatchTouchEvent (android.view.MotionEvent)? – Wroclai