ConstraintLayout中chain解决几个控件整体居中的问题

ConstraintLayout

约束布局主要是为了解决布局的复杂嵌套存在的。

登录页面

ConstraintLayout中chain解决几个控件整体居中的问题_第1张图片





    


    


    

ConstraintLayout–使几个控件整体居中

使单个控件居中一般有

app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"

尝试:我尝试过ConstraintLayout的Groups。Groups只能控制控件的显示和隐藏,并不能控制位置

要使几个控件整体居中,在别的布局中一般会在这几个控件的外面再套一层,然后使外面的这层布局居中就可以了。但是,约束布局本身就是为了减少嵌套而出现的,这一做法明显不可行。

1、使用Guideline。画一条垂直,画一条水平的引导线,这两条线在布局中心垂直。然后各控件根据这两条线来布局。缺点,这个方法没法直接弄出控件与控件之间的关系,所有的关系都是靠引导线来维持的。

2、Chain
选中要垂直的几个布局,手机号码输入框、验证码输入框、登录按钮、提示linearlayout,右键选择chains–create Vertical Chain
(chain的默认style是spread,元素默认被展开排列)
ConstraintLayout中chain解决几个控件整体居中的问题_第2张图片

chain的style为spread时的结果
ConstraintLayout中chain解决几个控件整体居中的问题_第3张图片

只需要在链头添加

app:layout_constraintVertical_chainStyle="packed"

则把这几个控件整体成功居中

ConstraintLayout中chain解决几个控件整体居中的问题_第4张图片

   
    


        


        


        

你可能感兴趣的:(ConstraintLayout中chain解决几个控件整体居中的问题)