我需要显示一个样式化的文本以供阅读和一些操作。用户应该能够选择文本并用颜色标记,保存或展开(显示其他信息,例如翻译成另一种语言)。
我可以使用RichText小部件显示文本。
1)如何使其可选以及如何/在何处添加onTextSelected侦听器?有一个TextSelection类,但我看不到它的使用方式/位置。
2)扩展文本的最简单方法是什么?我可以重新加载全文(添加更改)并完全更新小部件,但这将导致滚动到文本顶部,我认为应该有一个更好的方法。
答案 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月底完成。