在 Flutter 中查找长按的单词

Posted

技术标签:

【中文标题】在 Flutter 中查找长按的单词【英文标题】:Find long pressed word in Flutter 【发布时间】:2020-03-27 19:12:09 【问题描述】:

我在卡片中显示文本,我想添加长按功能以显示有关所选单词(长按的单词)的更多信息。哪个文本小部件支持它? SelectableText 小部件不适合,因为它使用户能够将我的所有文本复制到其他地方,我不喜欢它,我只想找出选择了哪个单词以便显示它的含义。

目前我正在使用 Html 小部件,它显然不支持 长按字

【问题讨论】:

GestureDetector 具有onLongPressStart 属性,因此您可以获得“长”按的位置,现在您可以使用Paragraph API 在文本中找到最接近给定位置的位置 那么我使用哪种Widget类型来显示支持Paragraph API的文本? RichText 小部件,并使用 RenderParagraph api,而不是我之前说的 Paragraph 更新:Text 也可以使用 - Text 也使用 RenderParagraph 作为其 RenderObject 我是个新手,如何找到富文本偏移处的哪个单词 【参考方案1】:

您可以使用具有onLongPressed 方法的GestureDetector 包装您的Text 小部件。

body: Center(
        child: Card(
          child: GestureDetector(
            child: Text('Long press'),
            onLongPress: () 
              // your code here
            ,
          )
        )
      )

希望这能回答你的问题。

【讨论】:

这将触发一个事件,而无需实际说明点击了哪个 单词 希望对您有所帮助:github.com/flutter/flutter/issues/5422

以上是关于在 Flutter 中查找长按的单词的主要内容,如果未能解决你的问题,请参考以下文章

flutter textfield 长按输入框出现剪切/复制/粘贴的菜单如何设置中文?

Flutter WebView安卓端输入框不能长按粘贴

行中图像的动态列表,带有换行符(之间没有空格),允许长按图像打开编辑选项 - Flutter

在xCode中处理多个对象的长按的最佳方法

Flutter:从文本小部件中获取单个单词

Flutter(五)手势GestureDetector