Android之约束布局---------ConstraintLayout
前言
本文不会把约束所有内容像新华字典一样,解释的那么详细,只会记录我认为常用的内容,还是那句话,用到学到.
ConstraintLayout布局的优劣
优点
- ConstraintLayout约束布局,可以有效的减少布局嵌套,他可以提升系统渲染的效率
- 并且可以实现 RelativeLayout可实现的功能,并且效率优于相对布局,所以尽量可以使用ConstraintLayout代替RelativeLayout.
缺点
使用ConstraintLayout去绘制复杂的UI,虽然很方便而且又能减少布局的嵌套,但是博主认为他有2个比较明显的缺点.
- ConstraintLayout布局的特点就是关联不同控件的关系,比如控件A的下边界于控件B的上边界对齐.这就导致了不同控件间的强关联.比如很多控件的位置都依赖同一个控件,这个控件的状态一旦变成gone,或者因为不再使用被删除,这个约束布局就乱套了.
- 第二个缺点本质来说还是强关联所引起的,这导致了我们的页面到后期维护起来比较麻烦.
ConstraintLayout的使用
我觉的和相对布局使用起来还是挺像的.
语法 | 功能 |
---|---|
layout_constraintBottom_toTopOf=“控件A的id” | 这个意思就是当前控件下部和控件A的顶部对齐,以此类推这样的用法有很多比如layout_constraintStart_toEndOf |
layout_constraintBaseline_toBaselineOf | 将两个控件的文本的下边线对齐 |
android:layout_marginStart | 设置边距,这个在相对布局里比较特殊,必须该控件存在约束并且边距的值必须大于0,以此类推android:layout_marginTop |
layout_goneMarginStart | 当我所依赖的控件消失了,我的左边距 |
maxWidth | 最大宽度,使用条件是必须该控件的宽度是wrapContent,以此类推,还存在最小宽度,最大高度等等 |