PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Appui long sur bouton
Appui long sur bouton
Débuté par Baptiste - BLV TECH, 10 mai 2017 22:10 - 6 réponses
Membre enregistré
257 messages
Popularité : +35 (37 votes)
Posté le 10 mai 2017 - 22:10
Bonjour,

Suite a des retours utilisateurs d'une application.
Des utilisateurs appui par erreur sur des boutons d'action sans faire attention...

Du coup j'aimerais pouvoir personnalisé l'action de l'appui sur un bouton pour evité les erreur d'appui involontaire.
Il y a déjà la possibilité de définir des actions par programmation sur l'appui long d'un bouton nativement en Windev Mobile :




Mais il n'est pas possible nativement a ma connaissance de définir un timer avant l'action.
J'aimerais par exemple exécuter une action après l'appui enfoncé sur un bouton prenant au moins 5 secondes...
Idéalement avoir une information sur le temps qu'il me reste pour que l'action s’exécute.

Voici un exemple vidéo d'un bouton qui fait exactement ce que je veux. :
https://drive.google.com/open…

Merci de votre aide.

--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Posté le 11 mai 2017 - 08:30
Android , IOS ?

Je ne pense pas que ce soit possible avec windev, la solution sera surement a faire en natif, en IOS il faut utiliser la classe GestureRecognizer avec UILongPressGestureRecognizer, cette classe possède un attribut minimumPressDuration qui indique le temps a rester appuyé pour pouvoir déclenche l'action.

J’espère avoir aide ;)
Membre enregistré
637 messages
Popularité : +36 (36 votes)
Posté le 11 mai 2017 - 08:32
Bonjour Baptiste,

S'il s'agit de temporiser une action après un clic sur un bouton c'est faisable.

Il y a un exemple sur lequel tu pourrais t'inspirer. C'est "Sport Assistant" que tu trouveras dans les exemples fournis par pc soft.
Dans la fenêtre principale de cette application, le bouton Start est temporisé avant de démarrer l'action.
Par contre, ça risque d'être assez lourd à mettre en place si tu dois gérer chaque bouton ainsi...

Toutefois, il y a peut-être une autre possibilité. Quand tu vas dans l'onglet détail de la description d'un bouton, il est possible d'activer une minuterie apparemment.

Cdlt - Eric.

--
Eric DELATTRE
http://www.yoosite.fr
Membre enregistré
257 messages
Popularité : +35 (37 votes)
Posté le 13 mai 2017 - 22:48
Bonjour Eric,

J'ai utilisé l'exemple de bouton qui est dans l'exemple WM Sport.
Merci ;)

--
Baptiste CLOART
Freelance
b.cloart@blv-tech.com
06.88.74.80.65
www.linkedin.com/in/cloart
www.blv-tech.com
Membre enregistré
637 messages
Popularité : +36 (36 votes)
Posté le 14 mai 2017 - 07:07
You're welcome :)

--
Eric DELATTRE
http://www.yoosite.fr
Membre enregistré
7 messages
Posté le 29 février 2020 - 03:42
Dans ce cas en dev mobile, je ferais :
à l'appui, on mémorise dans une variable globale (projet ou fenêtre suivant la récurrence) = le temps système
au lâché, si la différence de temps avec celle mémorisé est conforme on exécute un traitement...
Membre enregistré
7 messages
Posté le 29 février 2020 - 03:54
A et durant le survol = appui en mobile
dif = DateHeureDifférence(...)
selon la dif
cas > ...
lib ou toast ...
cas > ....
...FIN

ou avec dif = milieu(temps..partiesheure) ou dif = partieentier() on a une dif pertinente
si dif <> extraitchaine(Lib,1," seconde") alors Lib = dif + " seconde"