ConstraintLayout2.0新特性解析(⼀)--Flow流式布局
英国首都前⾔纪录片下载
之前解析过 ConstraintLayout 的解析,扁平化布局,随着ConstraintLayout 2.0的到来,官⽅⼜提供了⼏个新的特性,包括Flow流式布
局,Layer层共同背景、动画,ImageFilterButton、ImageFilterView圆形图⽚,MockView UI原型布局,Space边距补偿,MotionLayout动画,接下来,就让我们来探索下2.0新特性吧。广告业务怎么跑
系列⽂章:
ConstraintLayout 2.0新特性解析(⼀)--Flow流式布局
ConstraintLayout 2.0新特性解析(⼆)-- Layer层布局,圆⾓视图
ConstraintLayout 2.0新特性解析(三)-- MockView UI原型布局,Space边距补偿,MotionLayout动画音节的划分
Flow流式布局
流式布局的实现⽅式有很多种,⽐如RecycleView的StaggeredGridLayoutManager,或者⾃定义布局动态计算的⽅式等,⽆论哪种实现,都不
如ConstraintLayout提供的Flow流式布局来的更灵活,更简单。
⾸先来布局:
图1
⽤属性:app:constraint_referenced_ids将7个ImageView约束起来,基本配置就ok了。很明显,最左边和左右边的两个TextView没有空间展⽰了。
a pp:flo w_w r a pMo de
保持距离接下来,就要⽤的Flow的第⼀个也是最关键的特性app:flow_wrapMode。它是⽤来标定流式布局的样式,有三个值:app:flow_wrapMode="none" 顾名思义,跟不设置⼀样,如图1⼀般。
app:flow_wrapMode="chain" 链式,如图2:
图2
从chain开始已具备流式布局的基本特性:⾃动换⾏。
chain的特性是尾⾏不⾜⼀⾏时,平分剩余空间。
app:flow_wrapMode="aligned" 对齐展⽰,此对齐是绝对对齐,如果视图⼤⼩不⼀,也会上下对齐,如图3:
图3
saas是什么意思⾏间距
app:flow_horizontalGap:横向⾏间距
app:flow_verticalGap:纵向⾏间距
如图123所⽰,加了10dp的间距后,看着跟⽹格布局⼀样。
o r ienta tio n ⽔平o r垂直流式
顾名思义,与LinearLayout的orientation属性⼀样,约束布局是⽔平⽅向的流式,还是垂直⽅向。
以上的图都是默认android:orientation="horizontal"的流式布局,⽽android:orientation="vertical"的样式如图4:
上海军训
图4
amalgam对齐
除了app:flow_wrapMode="aligned"的绝对对齐之外,Flow还有⼏种对齐⽅式:
app:flow_verticalAlign:值有top,bottom,center,baline。字⾯意思是约束所有
ios开发培训垂直位置,与horizontal的语义正好相反。orientation为horizontal,或者不配置时以下⽣效:
top就是顶部对齐,如图5:
image.png
bottom就是底不对齐,这⾥就不上图了。
雄心勃勃
center就是默认中⼼对齐样式。
baline字⾯意思是与某个基准线对齐,具体没细探索。
app:flow_horizontalAlign:值有start,end,center。字⾯意思是约束所有⽔平位置。orientation为vertical,或者不配置时以下⽣效:
start就是起始位置对齐,从左到右布局样式就是左对齐,如图6: