我正在尝试实现一个小部件,该小部件根据可用大小和孩子的大小来决定要显示哪个孩子。它应该遍历孩子并首先显示可以安装在里面的东西。
Column(children: [
Expanded(child: SomeWidget([expandedWidget, shortWidget])),
Text('some text'),
Spacer()
]);
是否可以以这种方式实现SomeWidget
,以便它可以决定是否有足够的空间使用expandedWidget
或shortWidget
不能使用expandedWidget
适合。
LayoutBuilder
小部件的子级没有大小,因此我不确定它是否可以用于子级。
答案 0 :(得分:0)
您应该看看MediaQuery widget
您可以执行以下操作:
var height = MediaQuery.of(context).size.height;
if (height < someValue) {
return shortWidget;
} else {
return expandedWidget;
}