news 2026/3/14 13:22:10

Flutter布局相关widget整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Flutter布局相关widget整理

在 Flutter 中,布局 Widget 是构建 UI 的基石。Flutter 的布局核心原则是:​**“Constraints go down. Sizes go up. Parent sets position.”**​(约束向下传递,尺寸向上传递,父节点设置位置)。

为了方便记忆,我们可以将布局相关的 Widget 分为以下四大类:

一、 单子布局 Widget (Single-child Layout)

这类 Widget 只能包含一个子组件 (child),主要用于控制该子组件的​间距、对齐、大小和约束​。

  1. Container​:
    1. 说明​:最强大的万能容器。结合了绘制(decoration)、定位(positioning)和调整大小(sizing)。最常用盒子,组合了 padding/margin/对齐/装饰/约束等
    2. 用途​:设置背景颜色/图片、圆角、边框、外边距(margin)、内边距(padding)、尺寸限制等。
    3. 包含​:
      • BoxConstraints盒约束
      • SliverConstraints滑动约束
  2. ColoredBox:
    1. ​说明:​颜色组件
  3. Padding​:
    1. 说明​:专门用于给子组件设置内边距。给子节点加内边距
    2. 用途​:如果你只需要留白,用 Padding 比用 Container 更轻量。
  4. Center​:
    1. 说明​:将其子组件居中显示在自身内部。Align 的居中快捷版
    2. 用途​:最快捷的居中方式。
  5. Align​:
    1. 说明​:控制子组件在父组件内的对齐方式(如左上、右下)。按对齐方式摆放子节点(如左上/居中/右下)
    2. 用途​:比 Center 更灵活,可以通过Alignment(x, y)精确控制位置。
    3. ​核心:​放宽约束
  6. SizedBox​:
    1. 说明​:强制指定子组件的宽高。指定固定宽高,或用作间距占位
    2. 用途​:常用于给两个组件之间添加固定间距,或强制改变组件尺寸。
  7. UnconstrainedBox​:
    1. 说明:解除约束
  8. AspectRatio​:
    1. 说明​:将子组件的宽高比设置为固定比例(如 16:9)。
    2. 用途​:适配视频播放器、图片封面等。
  9. ConstrainedBox​:
    1. 说明​:对子组件添加额外的约束条件(如最小宽度、最大高度)。对子节点施加最小/最大宽高约束
    2. 用途​:防止组件无限放大或缩得太小。
  10. FractionallySizedBox​:
    1. 说明​:根据父组件尺寸的百分比
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/11 23:18:55

MWGA - 为了复活1000亿行C#代码

1. 一句话介绍MWGA是Make WinForms Great Again的缩写,它是一个工具软件,能快速地将使用了GDI的WinForm.NET程序快速迁移到Blazor WASM平台上,将程序代码修改量控制在10%以下,从而复活全球1000亿行C#代码。2. 项目背景据估计&…

作者头像 李华
网站建设 2026/3/13 20:49:24

Wan2.2-T2V-5B部署实测:Colab免费环境能否顺利运行?

Wan2.2-T2V-5B部署实测:Colab免费环境能否顺利运行? 1. 背景与问题提出 随着AIGC技术的快速发展,文本到视频(Text-to-Video, T2V)生成正逐步从实验室走向实际应用。通义万相推出的Wan2.2-T2V-5B模型作为一款50亿参数…

作者头像 李华
网站建设 2026/3/13 9:08:57

TurboDiffusion问题诊断:日志文件分析定位核心故障点

TurboDiffusion问题诊断:日志文件分析定位核心故障点 1. 引言 1.1 业务场景描述 TurboDiffusion 是由清华大学、生数科技与加州大学伯克利分校联合推出的视频生成加速框架,基于 Wan2.1 和 Wan2.2 模型进行二次开发,构建了高效的文生视频&a…

作者头像 李华
网站建设 2026/3/10 17:03:43

FSMN-VAD实战体验:上传音频秒出语音片段表

FSMN-VAD实战体验:上传音频秒出语音片段表 1. 项目背景与核心价值 在语音处理流水线中,如何高效地从长段录音中提取有效语音、剔除冗余静音,是提升后续语音识别(ASR)、情感分析或关键词唤醒等任务效率的关键环节。传…

作者头像 李华
网站建设 2026/3/13 23:46:07

BAAI/bge-m3环境部署:零代码WebUI快速体验指南

BAAI/bge-m3环境部署:零代码WebUI快速体验指南 1. 章节名称 1.1 学习目标 本文旨在为开发者、AI爱好者和NLP初学者提供一份完整的 BAAI/bge-m3 模型 WebUI 部署与使用指南。通过本教程,您将无需编写任何代码,即可在本地或云端环境中快速启…

作者头像 李华
网站建设 2026/3/13 1:22:29

DefinitelyTyped 和类型安装 | 解释 @types 包的安装和使用

DefinitelyTyped 和类型安装 欢迎继续本专栏的第二十六篇文章。在前几期中,我们已逐步深化了对 TypeScript 声明文件的认识,包括 .d.ts 文件的编写语法、为第三方 JavaScript 库添加类型支持的指导,以及如何通过声明文件提升代码提示和类型安…

作者头像 李华