我想让文本中的每个单词都可点击。然后,当点击特定单词时,它的文本颜色应该改变。
让每个单词都可以点击就可以了。但是,不知何故,当我单击某个单词时,文本颜色不会改变。这就是我走了多远:
import 'package:flutter/material.dart';
import 'package:flutter/gestures.dart';
class MakeStringClickable extends StatefulWidget{
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _MakeStringClickableState();
}
}
class _MakeStringClickableState extends State<MakeStringClickable>{
String textToSplit = 'I would like to make each word clickable. On click of a particular word it's color should change.';
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
alignment: Alignment.center,
child: _buildTextSpanWithSplittedText(textToSplit, context)
),
);
}
RichText _buildTextSpanWithSplittedText(String textToSplit, BuildContext context) {
bool isPressed = false;
final splittedText = textToSplit.split(" ");
final …Run Code Online (Sandbox Code Playgroud) 我有一个字符串列表(称为名称列表)。对于列表中的每个字符串,我想用其中一个名称创建一个按钮。
正如您在下面的代码中看到的,我尝试使用 for 循环。但是,在播放代码时,我只能看到带有文本“Anna”的第一个 Button。
import 'package:flutter/material.dart';
class ButtonsWithName extends StatefulWidget{
@override
State<StatefulWidget> createState() {
// TODO: implement createState
return _ButtonsWithNameState();
}
}
class _ButtonsWithNameState extends State<ButtonsWithName> {
String name1;
String name2;
String name3;
String name4;
String name5;
var namesList = new List<String>();
@override
void initState() {
name1 = 'Anna';
name2 = 'Bernd';
name3 = 'Christina';
name4 = 'David';
name5 = 'Elena',
namesList.add(name1);
namesList.add(name2);
namesList.add(name3);
namesList.add(name4);
namesList.add(name5);
super.initState();
}
Widget _buildButtonsWithNames() {
for(int i=0; i < namesList.length; i++){
RaisedButton(child: Text(answerList[0])); …Run Code Online (Sandbox Code Playgroud)