【问题标题】:Flutter How to handle text selection?Flutter 如何处理文本选择?
【发布时间】:2018-12-05 20:19:24
【问题描述】:

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

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

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

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

【问题讨论】:

标签: android dart flutter


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    至于剩下的问题我不明白

    【讨论】:

      【解决方案3】:

      Flutter 在使文本选择成为可能方面取得了一些进展。目前唯一可行的解​​决方案是使用 RenderEditable 并抑制键盘调用并移除光标。

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

      还要监听选择事件 - 考虑使用flutter_selectext 插件,该插件还支持富文本 (TextSpan)。


      不过,我建议在 2019 年 5 月末等待 supposed to arrive 的正式实施。

      【讨论】:

      • 正式版本到了——但目前在网络上很无聊。
      猜你喜欢
      • 2014-02-15
      • 2021-07-21
      • 2017-12-27
      • 1970-01-01
      • 2023-01-22
      • 2011-07-09
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      相关资源
      最近更新 更多