在Flutter中,如何找到某个(x,y)位置的小部件?

Mar*_*rcG 4 flutter flutter-layout

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

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

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

Ram*_*Vel 5

我想你是hitTestRenderBox上课的方法。根据文档

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

因此,您可以从关键上下文中获取小部件的RenderBox实例。

GlobalKey key = new GlobalKey();
//your stuff
final RenderBox box = key.currentContext.findRenderObject()
// do box.hitTest
Run Code Online (Sandbox Code Playgroud)