【问题标题】:How to make a decision what widget to show based on it size in Flutter如何根据 Flutter 中的大小决定要显示的小部件
【发布时间】:2019-07-10 13:36:26
【问题描述】:

我正在尝试实现一个小部件,该小部件根据可用大小和子级大小来决定要显示哪个子级。它应该遍历子元素并首先显示可以放入其中的元素。

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

是否有可能以这样的方式实现SomeWidget,如果有足够的空间,它可以决定是否使用expandedWidget,或者如果expandedWidget不适合,它可以决定是否使用shortWidget

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

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    你应该看看MediaQuery widget

    你可以这样做:

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

    【讨论】:

    • 但我也需要根据expandedWidget 的大小做出决定。
    猜你喜欢
    • 2021-09-21
    • 2020-11-14
    • 2019-07-30
    • 2019-07-11
    • 2020-09-09
    • 2018-02-10
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多