Flutter布局组件

布局组件

线性布局

  • Align:指定组件位于父组件的位置,左上、右下等方位。

  • Column:列布局,可以指定主轴和交叉轴的排列方式。

  • Row:行布局,可以指定主轴和交叉轴的排列方式。

流式布局

  • Wrap:从左到右、从上到下,溢出自动换行。

  • **Flow:**类似Wrap,但是提供更灵活的布局方法。

列表布局

  • **GridView:**网格布局

  • **ListView:**线性列表布局

滚动布局

  • **SliverList:**滚动列表布局。

  • SliverGrid:滚动网格布局

  • CustomScrollView:用于创建自定义滚动效果的滚动视图,内部包裹Sliver类型组件,外面通常被Expanded、SizedBox等组件包裹,以便避免超出界限。

  • SliverToBoxAdapter:一种特殊组件,通常用于将基于盒结构的组件(例如Container)“转变”为Sliver组件,以便被CustomScrollView这类组件使用,

重叠布局

  • Stack:允许子孙组件重叠。

  • Positioned:给定具体的坐标进行定位,类似于css的绝对定位

容器布局

  • Container:盒子容器,可以指定宽高,内外边距和边框。

  • SizeBox:给定宽高,强制将子组件宽高改为设定值,除非父组件不支持该宽高。

  • Padding:设定内边距,padding必填。

  • Center:将子元素居中。

  • LimitedBox:限制子元素的最大宽高。

  • ConstrainedBox:类似于LimitedBox,但是还可以限制子元素的最小宽高。

  • OverflowBox:用于子组件溢出父组件。

弹性布局

  • Expanded:用于扩展Column、Row或者Flex的子项。

  • Flex:用于控制子组件在父组件中的布局方式和占用空间的比例。

最后更新于