Flutter 颤振:如何遍历一个小部件?

Flutter 颤振:如何遍历一个小部件?,flutter,Flutter,有谁能解释一下如何遍历小部件树的子级,以便根据其类型获得特定子级的RenderObject吗 我目前的实际用例是,我需要获得Scaffold AppBar的尺寸(因为我有一个通用的小部件,需要通过弹出菜单定位,就在AppBar下面,它可能有底部,也可能没有底部) 由于AppBar不公开它的AppBarState,所以给它一个键是没有用的,我需要遍历Scaffold子对象来找到它 非常感谢分配一个GlobalKey,然后您可以直接访问它,而无需使用该键进行遍历。感谢@GünterZöchbauer

有谁能解释一下如何遍历小部件树的子级,以便根据其类型获得特定子级的RenderObject吗

我目前的实际用例是,我需要获得Scaffold AppBar的尺寸(因为我有一个通用的小部件,需要通过弹出菜单定位,就在AppBar下面,它可能有底部,也可能没有底部)

由于AppBar不公开它的AppBarState,所以给它一个键是没有用的,我需要遍历Scaffold子对象来找到它


非常感谢

分配一个GlobalKey,然后您可以直接访问它,而无需使用该键进行遍历。感谢@GünterZöchbauer,我这样做了,现在,感谢_appBarKey.currentContext.finderObject(),我获得了它的维度。但是,更一般地说,如果我们不使用任何GlobalKey,那么如何遍历小部件树来检索特定类型的子部件呢?在
context
中有很多方法来查看父/子部件。但是你不应该使用它们。这是反模式的,因为您的小部件将依赖于整个小部件树。