flutter - 如何获取点击的 TextSpan 的坐标?
问题描述
使用GestureDetector
,您可以通过其获取被点击的小部件的大小和位置RenderBox
:
GestureDetector(
onTap: () {
RenderBox renderBox = context.findRenderObject();
}
);
因为 aTextSpan
不是 a ,所以从aWidget
中调用只能给你包含的小部件框:context.findRenderObject()
TextSpan
RichText
RichText(
text: TextSpan(
children: [
TextSpan(
text: 'Tap me',
recognizer: TapGestureRecognizer()..onTap = () {
//Gets box around RichText, not around this TextSpan
RenderBox renderBox = context.findRenderObject();
},
),
],
),
);
是否有另一个 API 可以在点击单个 TextSpan 时获取它的坐标?
解决方案
您可以将 WidgetSpan 与 Widget 子级一起使用。然后您将在 Widget 构建中获得正确的 RenderBox。
推荐阅读
- powershell - 获取内容复制特定行并将内容粘贴到另一个文件到特定行
- bash - 在 bash 中使用 jq 比较 2 个 JSON 文件在另一个 json 或文本文件中存储差异
- php - 使用 canvasjs 的“实时”图表
- c# - 如何使用用户凭据从 azure 广告生成不记名令牌
- javascript - 如何将href合并到点击事件中
- java - 如何使用 Java 代码添加导航视图
- python - 如何将 Jupyter 中的 TensorFlow 2 模型的结果保存到文本文件中?
- c# - 如何将 PropertyChanged 事件路由到 contentcontrol 的父级以更新 GUI?
- tsql - 根据另一个表填充 Id
- wix - MSI 安装程序(来自 wix)如何决定运行什么?