当前位置: 代码迷 >> 综合 >> flutter 获取某组件坐标
  详细解决方案

flutter 获取某组件坐标

热度:11   发布时间:2024-01-14 13:49:50.0

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