此时想让 ⽐利 只是⽔平居中,⽽不是⽔平竖直都居中,只需切断上下的两个点:(删除约束)
此时,⽐利就不再是 哲♂学 世界中⼼的王了~
除了能和哲♂学建⽴羁绊,和基佬之间也能建⽴羁绊,先把我们的 ⽐利 王
放回中间,接着到我们的Van登场了,⾸先让Van和 ⽐利 建⽴羁绊,
让 Van 在 ⽐利 的下⾯:
Van 想让⾃⼰⽔平居中,但是并不想依赖于哲♂学,他更加倾向于和基佬
建⽴羁绊,让⾃⼰⽔平居中,于是乎通过和 ⽐利 建⽴左右的羁绊,让
margin属性值可以为百分比⾃⼰也⽔平居中了:
建⽴完羁绊后,两个基佬就变得亲密⽆间了, ⽐利 去哪Van也去哪:
但是太过亲密⽆间也不是⼀件好事,还是得保持点距离(Margin)
调整距离也很简单,点击选中Van,右上⾓ Attributes
的这个东西⾥⾯四个0就代表margin,直接设个20,回车,Van
⽴马往下移动了20个dp
这个地⽅除了这个玩法外,还有另外三个骚操作:
1.点击这⾥的四个⼩圆点也可以取消约束;
2.左下这两个轴还有个⾼端名词:偏置约束(Biasing Constraints)
其实就是距离百分⽐,基佬要和哲♂学建⽴约束才会有这个东西,
默认不写居中的时候是50%,代表偏离哲♂学左边缘的距离为parent
宽度的50%,可以⼿动进⾏调整,⽐如我选中 ⽐利 以后:
3.还有⼀个很⽜逼的骚操作,为了演⽰这个操作,在⼀旁等候许久的
⾹蕉君也进场了:『⾹蕉君可能会迟到,但从来不会缺席』
⽐利 和 Van 纷纷退避到左右,⾹蕉君建⽴与两⼈的联系,来到他们之间:
点击右⾯的
直到变成
,接着就是见证奇迹的时刻了:
⾹蕉君直接把 ⽐利 和 Van 之间的空隙塞满了,
好棒!
其实这⾥就是调整基佬⼤⼩的地⽅,三种可选的模式:
wrap_content、
固定值、
any size
最后⼀个就是 ⽤于填充满当前控件的约束规则 和match_parent
是不⼀样的约束布局中已经不⽀持match_parent了。
除了间距和⼤⼩,还有其他参数可以点击下⽅更改,如果想修改更多
参数可以点击底下下的View all attributes;
上⾯的姿势都Get了的话,基本上就可以在 哲♂学 世界玩耍了,
但是如果你想做⼀个有梦想的基佬的话,你还需要掌握⼀个哲♂学之光的东西(Guideline(参照线)),哲♂学之光 会给你指引⽅向!
有⽔平的和垂直⽅向的,利⽤它我们可以做百分⽐对齐,或者设置百分⽐⼤⼩,⽐如现在想让⾹蕉君处于屏幕⽔平的1/4位置,然后宽度为2/4,我可以先拉两条
竖直⽅向的哲♂学之光,⼀次处于1/4和3/4的位置,让⾹蕉君对齐1/4,接着
⼀下就可以了!
学到这⾥,恭喜你,你已经是⼀个很出⾊的基佬了,在哲♂学世界
可以肆意玩耍,体验哲♂学给你带来的快感了,相信你会爱上哲♂学!
PS:还有⼀些⼩细节的地⽅:
是否⾃动建⽴约束,清除所有约束,显⽰约束,设置默认间距
还有右上⾓这个⼩三⾓,⽤于设置宽度基于⾼度的⽐例,
⽐如这的3:1,就是宽与⾼的⽐,宽的⼤⼩为⾼的3倍。
还有除了周围四个点外可以调整位置外,还还可以使⽤Baseline基线对齐
适⽤于⽂本型控件,⽐如TextView,Button这些~
下图就是Button对齐TextView的基线,先点击ab图标,中间出现的
那个东西就是基线,然后对齐TextView中的基线就可以对齐了,那个
⼩红x的图标是删除约束。
还有⼀个是链,就是两个控件建⽴了双向约束,可以⽤
⿏标左键拖⼀个范围选择多个控件,或者按住shirt键选择多个控件,
右键Chain可以建⽴⽔平或者竖直⽅向上的链条
点击
可以切换不同的链条样式
这⾥的第三种需要把控件宽度设置为
才会⽣效!
ConstraintLayout XML属性详解
1.Relative positioning(相对定位)
控件的X对齐另⼀个控件的X,⽐如layout_constraintLeft_toLeftOf = "B"控件A的左边对齐控件B的左边:
layout_constraintLeft_toLeftOf
layout_constraintLeft_toRightOf
layout_constraintRight_toLeftOf
layout_constraintRight_toRightOf
layout_constraintTop_toTopOf
layout_constraintTop_toBottomOf
layout_constraintBottom_toTopOf
layout_constraintBottom_toBottomOf
layout_constraintBaseline_toBaselineOf
layout_constraintStart_toEndOf
layout_constraintStart_toStartOf
layout_constraintEnd_toStartOf
layout_constraintEnd_toEndOf
2.Margins(间距)
这个就不⽤说了吧,间距:
android:layout_marginStart
android:layout_marginEnd

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。