flutter设置最大高度,超过最大高度时滑动显示

发布于:2025-05-21 ⋅ 阅读:(17) ⋅ 点赞:(0)

ConstrainedBox

用于对子组件添加额外的约束。例如,如果你想让子组件的最小高度是80像素,你可以使用const BoxConstraints(minHeight: 80.0)作为子组件的约束。

约束:BoxConstraints

BoxConstraints 是盒模型布局过程中父渲染对象传递给子渲染对象的约束信息,包含最大宽高信息,子组件大小需要在约束的范围内,BoxConstraints 默认的构造函数如下:

const BoxConstraints({
  this.minWidth = 0.0, //最小宽度
  this.maxWidth = double.infinity, //最大宽度
  this.minHeight = 0.0, //最小高度
  this.maxHeight = double.infinity //最大高度
})

它包含 4 个属性,BoxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,如

  • BoxConstraints.tight(Size size),它可以生成固定宽高的限制;
  • BoxConstraints.expand()可以生成一个尽可能大的用以填充另一个容器的BoxConstraints。
  • 除此之外还有一些其它的便捷函数。

父级组件是通过 BoxConstraints 来描述对子组件可用的空间范围。


代码如下:

// ConstrainedBox 用于对子组件添加额外的约束
ConstrainedBox(
  // BoxConstraints 是盒模型布局过程中父渲染对象传递给子渲染对象的约束信息,包含最大宽高信息,子组件大小需要在约束的范围内
  constraints: BoxConstraints(maxHeight: JwSizes.height240),
  // SingleChildScrollView是Flutter中的一个基础滚动组件,它可以让单个组件滚动
  child: SingleChildScrollView(
    // 设置垂直方向滑动
    scrollDirection: Axis.vertical,
    child: Row(
      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
      children: [
        Column(
          children: [],
        ),
        Column(
          children: [],
        ),
        Column(
          children: [],
        ),
      ],
    ),
  ),
),