标签: textspan

Flutter:使用 RichText 中的可点击 TextSpan 启用文本选择

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

我厌倦了运行下面的代码。但我注意到这onTap仅适用于_nonSelectableRichText(),而不适用于_selectableRichText.

我不知道这是否是一个错误……但我问是否有人有结合这两个功能的解决方案?

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 = () { …
Run Code Online (Sandbox Code Playgroud)

richtext flutter textspan

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

Flutter:如何在 RichText 中显示 TextSpan 的工具提示

我有一个大段落,很多单词必须有工具提示消息。当您单击这些单词中的任何一个时,应该会出现工具提示消息。

我尝试使用 RichText 小部件,其中包含许多TextSpan子项,如下所示:

RichText(
  text: TextSpan(
     children: <TextSpan>[
        TextSpan(text: "Welcome to"),
        TextSpan(text: "Flutter"),
        ... 
     ]),
),
Run Code Online (Sandbox Code Playgroud)

TextSpan 当我单击“我尝试用小部件换行”TextSpan时,我需要显示工具提示Tooltip文本

RichText(
  text: TextSpan(
     children: <TextSpan>[
        TextSpan(text: "Welcome to"),
        ...
        Tooltip(
            message: "any text here",
            child: TextSpan(text: "Flutter"),
        ),
        ...            
     ]),
),
Run Code Online (Sandbox Code Playgroud)

但这是不可能的,因为孩子们必须是TextSpan唯一的。

有人知道如何实现这个要求吗?

tooltip richtext flutter textspan

5
推荐指数
2
解决办法
5068
查看次数

标签 统计

flutter ×2

richtext ×2

textspan ×2

tooltip ×1