我想创建一个 statefulWidget
,并在这个小部件中获取其父控件的高度。不想通过从父控件发送 height 数据来实现这一点。我该如何做?
我想创建一个 statefulWidget
,并在这个小部件中获取其父控件的高度。不想通过从父控件发送 height 数据来实现这一点。我该如何做?
将LayoutBuilder作为子组件使用。
LayoutBuilder(builder: (ctx, constraints) {
return
Container(
height: constraints.maxHeight * 0.5,
width: constraints.maxWidth * 0.5,
child: Text('Inside Layout Builder'),
);
})
Container
将使用父部件高度和宽度的一半。
LayoutBuilder
,文档中说:“构建一个可以依赖于父部件大小的小部件树。” - pskinkFractionallySizedBox
- 文档中说:“一个将其子项大小设置为总可用空间的一部分的小部件。”- 这样你就可以使用一个Widget
完成这个操作,而使用LayoutBuilder
则需要最可能两个Widget
:LayoutBuilder
和一些SizedBox
或Container
。 - pskink