用途:帮助在 Flutter 应用中构建和优化界面布局,围绕约束系统与各类布局 Widget 展开。
核心原则:约束向下传递、尺寸向上返回、位置由父级设定。父 Widget 向子级传递最小/最大宽高约束,子级在约束内计算自身尺寸并回传,子级不掌握自己在屏幕上的位置。避免在 Row/Column 的交叉轴或 ListView 等可滚动区域传入无界约束(如 double.infinity),否则会触发渲染异常。
主要能力:按空间排列选择结构 Widget。Row/Column 用于水平与垂直线性布局,用 mainAxisAlignment、crossAxisAlignment 控制对齐;Expanded 强制子级填满可用空间,Flexible 允许子级在可用空间内自定尺寸;Container 用于内边距、外边距、边框和背景色;Stack 配合 Positioned 实现 Z 轴重叠;SizedBox 用显式宽高施加严格约束。
响应式与自适应:适配可用空间时用 LayoutBuilder、Expanded、Flexible 动态调整;针对特定形态调整可用性时用条件渲染切换整体结构,例如移动端用底部导航栏、平板/桌面用侧边导航栏。
使用方式:按四阶段工作流实施——视觉拆解(分解为行列网格、识别重叠与滚动区域)、约束规划(区分紧约束与松约束、排查无界约束风险)、实现(从 Scaffold 和主结构由外向内构建,深层嵌套抽为无状态 Widget)、验证(在目标设备运行,用 Flutter Inspector 开启 Debug Paint,检查黄黑条纹溢出警告,溢出时用 Expanded 包裹或改为可滚动父级)。
限制:资料未提供安装命令、版本要求、收费或平台信息。