Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:使用RichText中的可单击文本span启用文本选择_Flutter_Richtext_Textspan - Fatal编程技术网

Flutter 颤振:使用RichText中的可单击文本span启用文本选择

Flutter 颤振:使用RichText中的可单击文本span启用文本选择,flutter,richtext,textspan,Flutter,Richtext,Textspan,我需要在RichText中启用文本选择。当用户单击特定的文本span时,我还需要调用一些代码 我厌倦了按照代码运行。但是我注意到,onTap仅与\u nonSelectableRichText()一起使用,而与\u selectableRichText不一起使用 我不知道这是否是一个bug…但我想问的是,是否有人有一个结合了这两个特性的解决方案 import 'package:flutter/gestures.dart'; import 'package:flutter/material.dar

我需要在RichText中启用文本选择。当用户单击特定的文本span时,我还需要调用一些代码

我厌倦了按照代码运行。但是我注意到,
onTap
仅与
\u nonSelectableRichText()
一起使用,而与
\u selectableRichText
不一起使用

我不知道这是否是一个bug…但我想问的是,是否有人有一个结合了这两个特性的解决方案

import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

class TestPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Builder(
          builder: (context) => Container(
            child: _nonSelectionRichText(context),
            //child: _selectionRichText(context),
          ),
        ),
      ),
    );
  }

  Widget _nonSelectableRichText(BuildContext context) {
    return RichText(
      text: TextSpan(
        children: [
          TextSpan(
              text: "Welcome to ",
              style: TextStyle(color: Colors.black, fontSize: 70)),
          TextSpan(
              text: "Flutter",
              style: TextStyle(color: Colors.black, fontSize: 70),
              recognizer: TapGestureRecognizer()
                ..onTap = () {
                  print("Flutter"); // will work here
                }),
        ],
      ),
    );
  }

  Widget _selectableRichText(BuildContext context) {
    return SelectableText.rich(
      TextSpan(
        children: [
          TextSpan(
              text: "Welcome to ",
              style: TextStyle(color: Colors.black, fontSize: 70)),
          TextSpan(
              text: "Flutter",
              style: TextStyle(color: Colors.black, fontSize: 70),
              recognizer: TapGestureRecognizer()
                ..onTap = () {
                  print("Flutter"); // will not work here
                }),
        ],
      ),
    );
  }
}

这个问题已经解决。我试着运行你的代码片段,并验证它是否适用于Flatter 2.2

它似乎存在一个未解决的问题。还要检查这个打开的,所以queston:@Darshan,谢谢你的更新。是的,你说得对。这是一个bug,尚未解决:(