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

相關文章
相關標籤/搜索