在开发的时候,有时候我们需要获取Widget的位置与大小的需求,比如输入框激活状态,键盘出现有可能会遮挡输入框,这个时候我们就需要获取widget的位置与大小,然后计算页面偏移,然后滚动让页面可见。
方法很简单,就是给Widget设置GlobalKey,然后就可以通过key获取对应的RenderObject, 通过RenderObject就可以获取Size与Position.
RenderBox renderBox = key.currentContext.findRenderObject();
Size size = renderBox.size;
Offset position = renderBox.localToGlobal(Offset.zero);
这样就可以获取位置与大小了,剩下的事情就交给你了。😄