ConstraintLayout 可以减少布局的嵌套,也可以固定长宽比,一定程度满足了项目需求,有几点容易忘记的点,记录下来。
1.长宽比固定
constraintDimensionRatio来制定(如:app:layout_constraintDimensionRatio=”1:3”表示宽高比为1:3)这个属性生效需要以下条件:
1)left ,right ,top ,bottom四条边都需要约束,bottom的约束可以用baseline代替。
2)宽高至少有一个是0dp或者-1dp,如果都是0dp的则会以父布局能容下的最大范围显示。
2.GuideLine 的使用
Guideline是ConstraintLayout的Guideline辅助对象的实用程序类,该辅助对象不会显示在设备上,它被默认是View.GONE,而且不可改。另外,Guideline是专门为ConstraintLayout创建的,也就是它仅也只能用于ConstraintLayou布局。
<android.support.constraint.Guideline
android:id="@+id/guide_line_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5" />
如上为一个水平方向中间的分割线的示例,有以下几点说明:
垂直Guideline的宽度为0,高度为ConstraintLayout的高度
水平Guideline的宽度为ConstraintLayout的宽度,高度为0
GuideLine也可以认为是视图,其可以根据相对于布局边缘的dp或百分比,将GuideLine定位在布局中,位置确定有三种方式:
layout_constraintGuide_begin:指定与布局左侧或顶部的固定距离(dp)
layout_constraintGuide_end:指定与布局右侧或底部的固定距离(dp)
layout_constraintGuide_percent:指定与布局的宽度或高度的百分比