Flutter 中具有最小高度的扩展小部件

Azi*_*ziz 7 widget flutter

我的问题的背景:如果需要,小部件将其子小Expanded部件缩小零高度忽略其子小部件约束

目标:防止扩展widget缩小到小于其子级大小,以便其小部件不会被破坏。

此外,我需要小部件占用所有可用空间并扩展其子项。

旁注: Container用于分配高度空间以expanded对空间变化做出反应

这是代码:

import 'package:flutter/material.dart';

class MainScreen extends StatelessWidget {
  const MainScreen({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Expanded(
            child: Card(
              color: Colors.blueAccent,
              child: LimitedBox(
                maxHeight: 200,
                child: Text(
                  'Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text Test dummy text ',
                  style: TextStyle(fontSize: 60, color: Colors.black),
                ),
              ),
            ),
          ),
          Container(
            color: Colors.amberAccent,
            height: 105,
            width: 200,
          )
        ],
      ),
    );
  }
}

Run Code Online (Sandbox Code Playgroud)

这是不需要的电流输出:

所需的扩展行为

Expanded 正常行为:

不需要的收缩行为

jit*_*555 5

使用Flexible小部件并添加Container最小高度,蓝色容器的大小会随着文本的增加而增加。

 Scaffold(
      appBar: AppBar(),
      body: SingleChildScrollView( 
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Flexible(
              child: Container(
                constraints: BoxConstraints(
                    minHeight: 200, minWidth: double.infinity),
                child: Card(
                  color: Colors.blueAccent,
                  child: Text(
                    'Sample Text',
                    style: TextStyle(fontSize: 60, color: Colors.black),
                  ),
                ),
              ),
            ),
            Container(
              color: Colors.amberAccent,
              height: 105,
              width: 200,
            )
          ],
        ),
      )
  ),
Run Code Online (Sandbox Code Playgroud)

输出:

在此处输入图片说明

  • 所以简而言之..我需要带有“minHeight”属性的“Flexible” (4认同)