Flutter如何处理文字选择?

时间:2018-06-27 03:47:20

标签: android dart flutter

我需要显示一个样式化的文本以供阅读和一些操作。用户应该能够选择文本并用颜色标记,保存或展开(显示其他信息,例如翻译成另一种语言)。

我可以使用RichText小部件显示文本。

1)如何使其可选以及如何/在何处添加onTextSelected侦听器?有一个TextSelection类,但我看不到它的使用方式/位置。

2)扩展文本的最简单方法是什么?我可以重新加载全文(添加更改)并完全更新小部件,但这将导致滚动到文本顶部,我认为应该有一个更好的方法。

3 个答案:

答案 0 :(得分:4)

您现在可以使用SelectableText()小部件

答案 1 :(得分:1)

在您的文本视图之外使用GestureDetector。例如

GestureDetector(
          onTap: (){},
          child: Text(
            'Your text',
           style: TextStyle(
                    color: Colors.green,
                  ),
          ),
        ),

至于其余的问题我都不明白

答案 2 :(得分:0)

在Flutter中使文本选择成为可能。目前唯一可行的解​​决方案是使用RenderEditable禁止键盘调用并删除光标。

请参见flutter_selectable_text插件以使文本可选。

要同时收听选择事件,请考虑使用flutter_selectext插件,该插件还支持RTF(TextSpan)。


但是,我建议您等待supposed to arrive的正式实施在2019年5月底完成。