首页 > 解决方案 > 在 Flutter 中,如何在某个 (x,y) 位置找到小部件?

问题描述

给定一些 (x,y) 坐标,以逻辑像素为单位,相对于:

  1. 屏幕的左上角。
  2. 一些容器的左上角。

我怎么知道哪个小部件在那个位置?

标签: flutterflutter-layout

解决方案


我想你是在课堂上的hitTest方法之后。RenderBox根据文档

如果给定点包含在此渲染对象或其后代之一中,则返回 true。将包含该点的任何渲染对象添加到给定的命中测试结果。

所以你可以从键上下文中获取小部件的 RenderBox 实例

GlobalKey key = new GlobalKey();
//your stuff
final RenderBox box = key.currentContext.findRenderObject()
// do box.hitTest

推荐阅读