如何获得某个Widget的globalPosition
要获得某个widget的globalPosition,可以使用以下方法:
- 使用GlobalKey获取widget的BuildContext对象
final GlobalKey widgetKey = GlobalKey();
- 在widget中使用key属性将GlobalKey对象传递给widget
Widget build(BuildContext context) {
return SomeWidget(
key: widgetKey,
// other properties
);
}
- 使用BuildContext对象获取widget的globalPosition
final RenderBox renderBox = widgetKey.currentContext.findRenderObject();
final Offset offset = renderBox.localToGlobal(Offset.zero);
在上面的代码中,我们首先使用BuildContext对象获取了widget的RenderBox对象,然后使用RenderBox对象的localToGlobal方法获取widget的globalPosition。
原文地址: https://www.cveoy.top/t/topic/bp1Z 著作权归作者所有。请勿转载和采集!