Android开发 - 掌握ConstraintLayout(八)障碍线(Barrier)

本文咱们来介绍障碍线(Barrier)的使用,日常在开发中用的相对要少一些,可是在须要时会很是方便。android

它的做用是将多个元素放到这个障碍线里面使时,其中的任何元素的大小或位置变化时都会使它的位置进行改变。app

能够理解成一面墙,"墙"里面任何元素的位置或大小改变时都会致使它的改变,从而保证全部的元素都在"墙"里面。布局

下面咱们来举例进行说明,会更加直观。spa

  1. 首先,咱们先建立两个元素:

-w536

  1. 接下来,咱们来建立一条垂直的Barrier:

-w540

  1. 建立后,咱们把这两个View拖到这个Barrier里面:

-w765

注意:这里将View拖进去并非真正建立了层级关系,咱们看代码能够知道,仅仅这个Barrier引用了两个View的ID:code

<android.support.constraint.Barrier
        android:id="@+id/barrier"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:barrierDirection="left"
        app:constraint_referenced_ids="button,textView"
        tools:layout_editor_absoluteX="104dp" />
  1. 默认的Barrier是在全部元素的左面,咱们选中它后能够选择靠右对齐:

-w254

建立完成后咱们来调整其里面的各个View的大小和位置就能够理解它的做用了:xml

-w539
-w541

总结

Barrier特别在复杂的页面布局的时候很是有用,不须要建立一个容器来放置这些子View来实现这样的功能了,这也是咱们使用ConstraintLayout的初衷,保证层级的简单和高效。开发

下一篇:Android开发 - 掌握ConstraintLayout(九)分组(Group),咱们将介绍分组(Group)的使用。rem

若有更多疑问,请参考个人其它Android相关博客:个人博客地址get

相关文章
相关标签/搜索