dart - flutter - 创建一个从 minHeight 开始,增长到 maxHeight

我有一个容器,我想以最小大小开始并增长(如果在用户添加内容时其内容增长)到最大大小,然后停止。

正确的小部件似乎是 ConstrainedBox,如下所示:

new ConstrainedBox(
  constraints: new BoxConstraints(
    minHeight: 35.0,
    maxHeight: 60.0,
  ),
  child: ...child with growing content (has default height 25.0)...
),

但是,这会在 maxHeight 处启动盒子。

我尝试使用 hasBoundedHeight,但似乎无法为其构造正确的语法或在文档中找到示例。

让盒子按描述工作的最佳方法是什么?

最佳答案

没有“从最大/最小尺寸开始”的概念。

问题是,ContrainedBox 只为它的子级添加约束。但最终,它并没有选择尺寸。

如果您希望您的 child 达到 minSize,那么他们必须消耗。这意味着 not 的宽度/高度为 double.INFINITY。事实上,double.INFINITY 是许多小部件的默认值,包括 Container

另一方面,DecoratedBox 等一些小部件的默认大小为 0。 这意味着这段代码:

return new ConstrainedBox(
  constraints: new BoxConstraints(
    minHeight: 5.0,
    minWidth: 5.0,
    maxHeight: 30.0,
    maxWidth: 30.0,
  ),
  child: new DecoratedBox(
    decoration: new BoxDecoration(color: Colors.red),
  ),
);

将渲染一个 5.0*5.0 的红色方 block 。

关于dart - flutter - 创建一个从 minHeight 开始,增长到 maxHeight 的盒子的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48675781/

相关文章:

constructor - Dart 构造函数后的冒号

dart - 如何使用 Flutter 在 iOS 和 Android 上共享图像?

flutter - 如何让 Flutter 应用根据不同的屏幕尺寸做出响应?

json - 如何在 Flutter 中解码 JSON?

gridview - 如何在 Flutter 的 GridView 中为 Widget 设置自定义高

image - Flutter 网络图像不适合圆形头像

android - 如何在 Flutter 中格式化日期时间

json - 主体上带有 Json 的 HTTP POST - Flutter/Dart

dart - 在 Flutter 中创建图像轮播

flutter - 如何检查 Flutter 应用程序是否正在调试中运行?