如何决定在Flutter中根据窗口小部件的大小显示什么窗口小部件

时间:2019-07-10 13:36:26

标签: flutter flutter-layout

我正在尝试实现一个小部件,该小部件根据可用大小和孩子的大小来决定要显示哪个孩子。它应该遍历孩子并首先显示可以安装在里面的东西。

Column(children: [
  Expanded(child: SomeWidget([expandedWidget, shortWidget])),
  Text('some text'),
  Spacer()
]);

是否可以以这种方式实现SomeWidget,以便它可以决定是否有足够的空间使用expandedWidgetshortWidget不能使用expandedWidget适合。

LayoutBuilder小部件的子级没有大小,因此我不确定它是否可以用于子级。

1 个答案:

答案 0 :(得分:0)

您应该看看MediaQuery widget

您可以执行以下操作:

var height = MediaQuery.of(context).size.height;
if (height < someValue) {
    return shortWidget;
} else {
    return expandedWidget;
}