Flutter 获取控件尺寸和位置

时间:2020-12-26 04:47:16

1. 插件必须渲染好,

final RenderBox box = globalKey.currentContext.findRenderObject();
final size = box.size;
final topLeftPosition = box.localToGlobal(Offset.zero);
return topLeftPosition.dy;

  

2. 可以通过context.size获取当前控件的尺寸和位置offset信息

下面是示例,通过contex.size.height可以拿到child控件的高度
class HeightReporter extends StatelessWidget {
final Widget child; HeightReporter({this.child}); @override
Widget build(BuildContext context) {
return new GestureDetector(
child: child,
onTap: () {
print('Height is ${context.size.height}');
},
);
}