Flutter 获取某个控件的坐标

1.首先先需要对控件进行渲染

初始化GlobalKey :GlobalKey anchorKey = GlobalKey();

2.在需要测量的控件的下面添加key:

child: Text("点击弹出悬浮窗",
  style: TextStyle(fontSize: 20),
  key: anchorKey
),

3.获取控件的坐标:

RenderBox renderBox = anchorKey.currentContext.findRenderObject();
var offset =  renderBox.localToGlobal(Offset.zero);

控件的横坐标:offset.dx

控件的纵坐标:offset.dy

如果想获得控件正下方的坐标:

 RenderBox renderBox = anchorKey.currentContext.findRenderObject();
 var offset =  renderBox.localToGlobal(Offset(0.0, renderBox.size.height));

   控件下方的横坐标:offset.dx

   控件下方的纵坐标:offset.dy

你可能感兴趣的:(Flutter 获取某个控件的坐标)