1
votes

Flutter GestureDetector manque onTap lorsqu'un autre TextField a le focus

Salut dans Flutter J'ai un TextFormField et séparément un GestureDetector . Le problème est que lorsque le TextFormField a le focus (l'utilisateur tape), puis que l'utilisateur clique sur GestureDetector, le onTap n'est pas appelé, l'utilisateur doit donc cliquer deux fois pour supprimer le focus du TextFormField et à nouveau pour activer le GestureDetector, ce qui est irritant pour l'utilisateur. Des conseils s'il vous plaît pour détecter un robinet même si un TextFormField a le focus? Merci!


0 commentaires

3 Réponses :


0
votes

Je pense que vous pouvez ajouter

FocusScope.of(context).unfocus();

pour supprimer le focus du champ de texte sur "onEditingComplete" ou "onTap".

J'espère que cela aide!

p>


0 commentaires

0
votes

Est-ce que votre GestureDetector perd uniquement sa concentration? si tel est le cas, essayez d'envelopper votre échafaudage avec le détecteur de mouvement et ajoutez le code OnTap comme ci-dessous

      onTap: () {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus) {
  currentFocus.unfocus();
}

}

Il détachera le TextFormField une fois que vous appuyez n'importe où dans l'échafaudage


0 commentaires

0
votes

Merci à tous! C'était en fait mon erreur, il y avait un auditeur dans TextFormField qui déclenchait un setState et noyait l'ontap.


0 commentaires