flutter - 在 Flutter 中,如何在某个 (x,y) 位置找到小部件?
问题描述
给定一些 (x,y) 坐标,以逻辑像素为单位,相对于:
- 屏幕的左上角。
- 一些容器的左上角。
我怎么知道哪个小部件在那个位置?
解决方案
我想你是在课堂上的hitTest
方法之后。RenderBox
根据文档
如果给定点包含在此渲染对象或其后代之一中,则返回 true。将包含该点的任何渲染对象添加到给定的命中测试结果。
所以你可以从键上下文中获取小部件的 RenderBox 实例
GlobalKey key = new GlobalKey();
//your stuff
final RenderBox box = key.currentContext.findRenderObject()
// do box.hitTest
推荐阅读
- git-bash - 错误:无法打开需求文件:[Errno 2] 没有这样的文件或目录:'requirements.txt' - GitBash Windows 10
- android - 自定义文本输入布局
- python - 使用re在python中不区分大小写替换
- javascript - 在 Python 和 JavaScript 之间传递图像数据
- unity3d - Unity 如何从 Hashset 获取变换
- express - 用于检查输入类型的列表长度的自定义指令
- reactjs - 面临未处理的拒绝(错误):无效的挂钩调用。Hooks 只能在函数组件的主体内部调用
- git - Git - 如何在从裸存储库结帐期间排除 .gitignore 文件?
- javascript - 带有多个下拉子菜单的侧边栏未正确显示
- javascript - 使用 Nodejs 和 Reactjs 从一个 javascript 文件中访问另一个文件中的变量