小编WeA*_*ple的帖子

Flutter:使用 TapGestureRecognizer 更改 TextSpan 的文本样式

我想让文本中的每个单词都可点击。然后,当点击特定单词时,它的文本颜色应该改变。

让每个单词都可以点击就可以了。但是,不知何故,当我单击某个单词时,文本颜色不会改变。这就是我走了多远:

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)

styles split dart uitapgesturerecognizer flutter

4
推荐指数
1
解决办法
3600
查看次数

Flutter:为字符串列表中的每个项目创建按钮(Dart)

我有一个字符串列表(称为名称列表)。对于列表中的每个字符串,我想用其中一个名称创建一个按钮。

正如您在下面的代码中看到的,我尝试使用 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)

foreach for-loop list button

1
推荐指数
1
解决办法
2734
查看次数