ConstraintLayout已经出来有八百多年了,但是因为平时已经习惯了在XML里手写布局,基本上已经到了不看预览界面就可以完成各种布局的程度,所以一直都没有学这东西(才不是因为懒什么的)。但是毕竟是好玩意,拖拖拽拽就能完成酷炫的布局,谁来想去撸枯燥的代码呢,来来来,玩一玩。
Ps:文章专为自己食用,有那位道友不小心点进来学习ConstraintLayout可以右上角红叉了。
说明
Google在2016的I/O上发布的一个功能,当时看视频觉得是真jier皮的沙发,可视化操作啊,可视化啊,果断更新studio,体验了一把。然而....拖几个简单的布局还是可以的,复杂一点的就懵逼了,这是啥,这咋整,夭寿啦,控件不听我控制啦。整这么多没用的其实就想说ConstraintLayout继承自ViewGroup,向下兼容到API 9,也就是.....可以兼容到上古的2.3版本,所以无需考虑兼容问题。开整。
基础,都说是基础了,绝对是简单的不行了,自己玩一玩就OK了。
- 每个控件的四周会有四个点,可以给它自己添加约束,通过拖动四个小圆点来确定控件的位置。
- 当一个控件确定好位置后,其他控件可以以这个控件为目标,通过拉取小圆点来确定自己的位置。
-确定位置可以说是约束,删除约束的方式有三种:1.鼠标放在小圆点上,小圆点变红后点击可以删除当前约束线。2.每个控件下面都会有个剪刀状的图标,点击图标可以删除该控件所有约束。3.studio操作界面有个红色的剪刀,点击可以删除该布局的所有约束。
Inspector
Inspector也就是操作界面右边那个酷炫的操作台,一些基础属性的设置不谈,就看那个酷炫的XXXX,不知道叫啥。
- 首先最外层有个进度条,从0-100,也就是约束后可控的距离百分比,可设置百分比距离。
- 然后是四方框里面的四个按钮,它一共有三种形态:
1.>>>这个形态就是wrap content
2.|--|这个形态是给宽或者高一个固定值
3.究极体。。。画不出,反正就是else了,类似与match parent,但是它表示的
是充满约束大小。
Guidelines 类似与辅助线的功能
- 作用就是在需要的时候当一个指路的明灯。
- 两种形态,一种是dp,一种是%。
自动约束A,也就是操作界面上的小磁铁
- 打开以后可以自己根据控件的摆放位置进行自动约束,当然很有可能是这并不是你想要的结果。。。。
自动约束B,操作界面上两个闪闪发光的星星
- 当你把所有控件摆好位置以后他会根据控件的摆放位置给布局中的所有控件添加约束,然后可以自己再进行调整。
写到这里,我的心里只有一个想法,看我表情
emmmmmm....一定是我学习的姿势不对,今天说好早点睡,先写到这里,明日继续。
Over,于杀戮之中盛放 亦如黎明中的花朵