在React Native中,我可以向具有回调的任何组件添加onLayout道具,并且每次发生影响此组件的布局更改时,将使用组件的位置和维度调用回调。
我怎么能在Flutter做同样的事情?
一些代码建议使用WidgetsBinding.instance.addPostFrameCallback(_callback);
,但它只是第一次调用,它似乎也不能保证我可以使用_key.currentContext.findRenderObject()
获得小部件的大小。
是的,有一个叫做LayoutBuilder
。它旨在在更改时重建窗口小部件树,因此您必须将要在单独的类中调整的窗口小部件分开并实现LayoutBuilder
。更多信息可以在documentation找到。