web-dev-qa-db-fra.com

Flutter Comment gérer la sélection de texte?

J'ai besoin d'afficher un texte stylisé pour la lecture et certaines actions. L'utilisateur doit pouvoir pour sélectionner un morceau de texte et le marquer avec de la couleur, l'enregistrer ou le développer (afficher des informations supplémentaires, par exemple une traduction dans une autre langue).

Je peux afficher du texte en utilisant le widget RichText.

1) Comment le rendre sélectionnable et comment/où ajouter l'auditeur onTextSelected? Il y a une classe TextSelection mais je ne vois pas comment/où elle est utilisée.

2) Quelle est la manière la plus simple de développer du texte? Je peux recharger le texte intégral (avec des modifications ajoutées) et mettre à jour totalement le widget, mais cela se traduira par un défilement vers le haut d'un texte et je pense qu'il devrait y avoir une meilleure approche.

13
Serge Breusov

Utilisez GestureDetector hors de votre vue texte. Par exemple

GestureDetector(
          onTap: (){},
          child: Text(
            'Your text',
           style: TextStyle(
                    color: Colors.green,
                  ),
          ),
        ),

Et pour le reste de la question, je ne comprends pas

0
Pule Maanela

Des progrès ont été réalisés pour rendre la sélection de texte possible dans Flutter. La seule solution qui fonctionne actuellement est d'utiliser RenderEditable avec des appels clavier supprimés et un curseur supprimé.

Voir flutter_selectable_text plugin pour rendre le texte sélectionnable.

Pour écouter également les événements de sélection, pensez à utiliser flutter_selectext plugin, qui prend également en charge le texte enrichi (TextSpan).


Cependant, je recommanderais d'attendre la mise en œuvre officielle qui est censée arriver fin mai 2019.

0
George