Flutter:如何遍历一个Widget child ?

标签 flutter

有人可以解释一下如何遍历 Widget Tree 的子级,以便我可以根据其类型获取特定子级的 RenderObject 吗?

我目前的实际用例是,我需要获取 Scaffold AppBar 的尺寸(因为我有一个通用小部件,需要通过 PopupMenu 进行定位,位于 AppBar 的下方,该小部件可能有也可能没有底部)。

由于AppBar没有公开它的AppBarState,给它一个键是没有用的,我需要遍历Scaffold子级才能找到它。

非常感谢

最佳答案

我所做的就是通过获取 RenderObject 进行类似的操作。为了访问该对象,我正在转换我打算使用的 Widget。例如

RenderBox renderBox = key.currentContext.findRenderObject() as RenderBox;

从此示例中,我能够通过转换 RenderBox 来访问对象的属性。

关于Flutter:如何遍历一个Widget child ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317609/

相关文章:

sqlite - SQLite Flutter更新查询问题

android - 在小部件树 Flutter 中检测到重复的 GlobalKey

flutter - 设置选定的初始 CupertinoPicker 选定索引

flutter - 在 Flutter 中使用 borderRadius 为容器添加边框

json - Flutter - 延迟 json 请求每次执行一次

flutter - 如何在 Flutter 的 LinearGradient 中获取点的颜色

pdf - 在 flutter 中将 PDF 在 Canvas 上解析和渲染为图像

android - 发布apk不会运行

firebase - 如何基于uid创建用户个人资料并导航到个人资料页面?

flutter - 每次按下导航项时,底部导航栏都会重新加载所有小部件