Bonjour,

j'ai un code qui affiche une phrase à l'aide de RichText. Je voudrai que lorsqu'on clique sur un mot, ce-dernier soit remplacé par trois points de suspension par exemple. Pourriez-vous m'aider à modifier mon code pour cela, svp ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import 'package:flutter/material.dart';
import 'package:flutter/gestures.dart';
 
void main() {
  runApp(MyApp());
}
 
void changeword(data) {
     print (data);
}
 
 
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}
 
class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;
  @override
  _MyHomePageState createState() => _MyHomePageState();
}
 
class _MyHomePageState extends State<MyHomePage> {
 
  List<String> _mysentence    = ["Je", "collectionne", "les", "timbres", "depuis", "mon", "enfance", "."];
 
  @override
  Widget build(BuildContext context) {
    bool pressed = false;
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Wrap(
            children: <Widget>[
              Wrap(
        children: <Widget>[
          for (int i = 0; i < 8; i++)
            if (_mysentence[i]!=".")
            RichText(text: TextSpan(
              text: ' ',
              style: DefaultTextStyle.of(context).style,
              recognizer: new TapGestureRecognizer()
                ..onTap = () { changeword("data1");
                },
              children: <TextSpan>[
                TextSpan(text: _mysentence[i], style: TextStyle(fontWeight: FontWeight.bold)),
              ],
            ),)
           else
              RichText(text: TextSpan(
                style: DefaultTextStyle.of(context).style,
                children: <TextSpan>[
                  TextSpan(text: _mysentence[i], style: TextStyle(fontWeight: FontWeight.bold)),
                ],
              ),)
        ],
 
      ),
    ]),
      ),
    );
  }
 
}
J'ai trouvé un code qui me permet de le faire, mais il nécessite de rafraîchir le scaffold à chaque fois . Y'a -t-il moyen de cibler chaque mot comme s'il s'agissait de bouton ? À moins qu'il ne faille utiliser des labels...