【问题标题】:Flutter: force container height to Child's height颤振:强制容器高度为孩子的高度
【发布时间】:2021-01-02 18:44:28
【问题描述】:

使用我的代码将容器高度设置为屏幕高度。我想将此Container 高度设为其子高度。

孩子的身高与其状况不同。所以,我不想将它设置为某个固定值。如何将其设置为仅覆盖其子高度?

Container(
            margin: const EdgeInsets.only(top: 30.0),
            width: MediaQuery.of(context).size.width * 0.85,
            decoration: BoxDecoration(
              color: Colors.white,
              border: Border.all(
                color: Colors.orange,
                width: 0.7,
              ),
              borderRadius: BorderRadius.circular(12),
            ),
            child: Column(
               Widgets.....
                                ),
                              );
                            },
                          ),
                        ],
                      ),
              ],
            ),
          );

【问题讨论】:

    标签: flutter


    【解决方案1】:

    在其子级 (Column) 上使用 mainAxisSize 属性,如下所示

    Container(
      margin: const EdgeInsets.only(top: 30.0),
      width: MediaQuery.of(context).size.width * 0.85,
      // ...
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
          // ...
        ],
      ),
    ),
    

    【讨论】:

    • 我尝试了 4 个小时。就这么简单!仍然需要等待几分钟才能接受答案,但非常感谢!
    • 很高兴它有帮助!快乐编码
    • 你很少需要 MediaQuery.of(context).size。相反,使用 LayoutBuilder 来获取父小部件传递给您的约束,这意味着如果设备旋转或您决定将一列布局变为两列布局,则会自动调整。
    • @RandalSchwartz OP 只需要调整他的Container 的高度。所以我不能改变他的设计
    • 这个答案更多地适用于 OP。犯了同样的错误。
    猜你喜欢
    • 2020-04-27
    • 2021-07-27
    • 1970-01-01
    • 2020-10-18
    • 2019-05-05
    • 2021-03-19
    • 2011-08-25
    • 2020-04-11
    相关资源
    最近更新 更多