在Flutter中获取父级widget的高度

10

我想创建一个 statefulWidget,并在这个小部件中获取其父控件的高度。不想通过从父控件发送 height 数据来实现这一点。我该如何做?


1
通过使用LayoutBuilder,文档中说:“构建一个可以依赖于父部件大小的小部件树。” - pskink
我该如何使用“LayoutBuilder”? - esfsef
https://api.flutter.dev/flutter/widgets/LayoutBuilder-class.html - pskink
但是说实话,你应该使用FractionallySizedBox - 文档中说:“一个将其子项大小设置为总可用空间的一部分的小部件。”- 这样你就可以使用一个Widget完成这个操作,而使用LayoutBuilder则需要最可能两个WidgetLayoutBuilder和一些SizedBoxContainer - pskink
1个回答

13

LayoutBuilder作为子组件使用。

LayoutBuilder(builder: (ctx, constraints) {
      return 
          Container(
            height: constraints.maxHeight * 0.5,
            width: constraints.maxWidth * 0.5,
            child: Text('Inside Layout Builder'),
     );
  })

根据该代码,Container将使用父部件高度和宽度的一半。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接