论Android适配UI,约束布局ConstraintLayou
2019-03-18 本文已影响60人
山上的神仙
1,什么是约束布局,我就不废话了,包含了LinearLayout,RelativeLayout,PercentLayout布局,这三种布局,估计PercentLayout很少人用,所有谷歌才想了个全家桶,所有就出来了约束布局
2,约束布局的优势,面试的时候很好用的:
第一点:优化UI,优化层级嵌套,基本是0嵌套,就一层解决问题
第二点:适配,百分比布局,宽高绝对,针对屏幕的大小进行缩放扩大。
记住以下几个属性 你写个布局试试就知道好用不了
layout_constraintTop_toBottomOf (看到TOP和Bottom没有)
这里等价于layout_constraintA控件的顶部_toBottomOf B控件底部
假如设置A控件位于B控件底部 就可以用这个 然后指定B控件ID 就在B控件ID的底部了,
同样还有其他的一样的属性
layout_constraintBottom_toTopOf
layout_constraintLeft_toRightOf
layout_constraintLeft_toLeftOf
layout_constraintRight_toRightOf
.....还有这样的属性16个 总共好像 我就不一一写了 大家只要记住对的使用方法就行
这里我要说明一点就是 Left to Left 这样同名的属性 大家千万别认为是没用的,用来指定相同宽度很有用,谷歌粑粑是真的厉害。(看下面这个例子)
假如有这样一个需求 这图画的不太标准,意思就是a b宽度一致 高度无所谓,这里就用TextView来代表了
image.png
//我这里写一些重要的属性
<TextView
id = "A"
layout_width="40dip"
layout_height="wrap_content"
>
</TextView>
//重点来了b控件我们可以加上约束
<TextView
id = "B"
layout_width="0dip"//宽度设置为0交给约束来控制宽度
layout_height="wrap_content"
layout_constraintLeft_toLeftOf="id/A"//这里是B控件的左边等于A控件的左边
layout_constraintRight_toRightOf="id/A"//这里是B控件的右边等于A控件的右边
layout_constraintTop_toBottomOf="id/A"//这里是B控件的顶部位于A控件的底部
>
</TextView>
各位见谅
文笔有点烂,反正我觉得这样很好记,而且真的好用,不用担心屏幕适配问题,可能需要担心字体适配吧。