目录

  1. 介绍
  2. ConstraintLayout的优点
  3. ConstraintLayout使用方法
    1. Relative positioning(相对定位)
    2. Margins(边距)
    3. Centering positioning(居中偏移)
    4. Circular positioning(圆心偏移)
    5. Visibility behavior(隐藏行为)
    6.  Dimension constraints(尺寸约束)
    7.  Chains(链)
  4. Virtual Helpers objects(辅助工具)

        4.1  Optimizer(计算优化)

        4.2  Barrier(屏障)

        4.3  Group(分组)

        4.4  PlaceHolder(占位符)

        4.5  GuideLine(基准线)

 

 

1.介绍

Contrstraint Layout Library包是Android support library的一部分,现在不再维护了。Contrstraint Layout Library已经被AndroidX约束布局库所取代,后者是Jetpack的一部分。

ConstraintLayout类已经被androidx.constraintlayout.widget.ConstraintLayout所取代。我们建议在所有新项目中使用AndroidX库。

您还应该考虑将现有项目迁移到AndroidX。

2 .ConstrainLayou优点

  1. 减少布局的层次,减少过度绘制。

复杂的布局一般会用RelativeLayout嵌套多层RelativeLayout,这样会导致布局层次

过深,性能会很低

  1. 适配上更灵活

ConstrainLayout可以按照比例约束控制尺寸和位置能够更好的适配不通的机型

 

3. ConstraintLayout使用方法

   3.1相对定位

        相对定位是在ConstraintLayout中创建布局的基本构件之一。这些约束允许控件

        将给定的控件相对于另一个控件进行定位。您可以约束一控件在水平方向和者

     垂直方向:

      Horizontal 方向: left, right, start and end sides

      Vertical 方向: top, bottom sides and text baseline

       文字描述比较抽象见图3-1

     

     代码如下: