第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

Flutter 2-10】Flutter手把手教程UI布局和Widget——流式布局Wrap

標(biāo)簽:
Android iOS 移動測試

作者 | 弗拉德

来源 | 弗拉德

Wrap

FlutterWrap是流式布局控件,RowColumn在布局上是很好用,但是有一个缺点,如果当子控件数量过多导致RowColumn装载不下的时候,就会出现UI页面上的错误。Wrap可以完美的避免这个问题,当控件过多一行显示不全的时候,Wrap可以换行显示。

当然WrapRowColumn有着很多相似的地方。

我们先来看Wrap的构造函数:


Wrap({

// Key

Key key,

// 子控件显示方向, 有垂直方向 水平方向两个值

this.direction = Axis.horizontal,

/// 子控件的 布局方式 跟Column的 mainAxisalignment类似

this.alignment = WrapAlignment.start,

/// 子控件 主轴方向间距

this.spacing = 0.0,

/// 子控件 交叉方向的 布局方式

this.runAlignment = WrapAlignment.start,

/// 子控件 交叉方向间距

this.runSpacing = 0.0,

/// 交叉轴的对齐方式 与 Column 的crossAxisAlignment 一样

this.crossAxisAlignment = WrapCrossAlignment.start,

/// 书写方向 与 Column的 textDirection 一样

this.textDirection,

/// Wrap交叉轴方向上子控件的布局方向

this.verticalDirection = VerticalDirection.down,

/// 裁剪方式

this.clipBehavior = Clip.hardEdge,

/// 子控件

List<Widget> children = const <Widget>[],

})

下面我们就来看看这些参数

direction

direction有两个参数值Axis.horizontalAxis.vertical,很明显它管理着Wrap的是水平布局还是垂直布局。

Axis.horizontal表示子控件按水平方向布局,Axis.vertical表示子控件按垂直方向布局显示。

Axis.horizontal

效果如下:

20202_01_15_wrap_horizontal

Axis.vertical

效果如下:

20202_01_15_wrap_vertical

alignment

alignment接收一个WrapAlignment类型的枚举,WrapAlignment共有六个枚举值,如下:

WrapAlignment的枚举值与效果与 ColumnmainAxisAlignment效果一样,想了解的可以看之前的文章

| 枚举值 | 描述 |

| ---- | ---- |

| start | 与 开始的位置对齐 |

| end | 与 结束的位置对齐 |

| center | 居中对齐 |

| spaceBetween | 把剩余的空间拆分成n-1份(n是子控件的个数) 每一份都插入到子控件之间 |

| spaceEvenly | 把剩余的空间拆分成n+1份(n是子控件的个数) 然后均匀分布 |

| spaceAround | 把剩余空间拆分成 2n 份(n是子控件的个数) 每个子控件上下各放一份 |

WrapAlignment.start

20202_01_15_wrap_alignment_start

WrapAlignment.center

20202_01_15_wrap_alignment_center

WrapAlignment.end

20202_01_15_wrap_alignment_end

WrapAlignment.spaceBetween

20202_01_15_wrap_alignment_between

WrapAlignment.spaceEvenly

20202_01_15_wrap_alignment_spaceEvenly

WrapAlignment.spaceAround

20202_01_15_wrap_alignment_spaceAround

runAlignment

runAlignment接收一个WrapAlignment类型的枚举,WrapAlignment共有六个枚举值(跟alignment的枚举值是一样的),runAlignment控制是的是Wrap布局交叉方向的对齐方式。

如果Wrap的是水平方向布局,runAlignment控制的就是Wrap垂直方向的对齐方式。

verticalDirection

verticalDirection有两个值VerticalDirection.downVerticalDirection.up,表示从哪个方向开始布局。

VerticalDirection.down

2021_01_15_wrap_down

VerticalDirection.up

2021_01_15_wrap_up

注意 当设置为VerticalDirection.up的时候,第一个控件也就是Number 0是从最低端最左侧开始的。

spacing 和 runSpacing

spacing表示子控件主轴方向间距,runSpacing子控件在交叉方向间距。

在一个水平方向布局的Wrap为中,spacing表示的就是水平方向子控件之间的间距,runSpacing表示的就是子控件在垂直方向上的间距。

space

space等于10的样子

2021_01_15_wrap_space_10

space等于40的样子

2021_01_15_wrap_space_40

runSpacing

runSpacing等于10的样子

2021_01_15_wrap_runSpace_10

runSpacing等于40的样子

2021_01_15_wrap_runSpace_40

想体验以上示例的运行效果,可以到[我的Github仓库] github.com/Johnson8888/learn_flutter 项目flutter_app->lib->routes->wrap_page.dart查看,并且可以下载下来运行并体验。


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
移動開發(fā)工程師
手記
粉絲
3
獲贊與收藏
16

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消