Android開發 - 掌握ConstraintLayout(八)障礙線(Barrier)

本文我們來介紹障礙線(Barrier)的使用,平常在開發中用的相對要少一些,但是在需要時會非常方便。

它的作用是將多個元素放到這個障礙線裏面使時,其中的任何元素的大小或位置變化時都會使它的位置進行改變。

可以理解成一面牆,"牆"裏面任何元素的位置或大小改變時都會導致它的改變,從而保證所有的元素都在"牆"裏面。

下面我們來舉例進行說明,會更加直觀。

  1. 首先,我們先創建兩個元素:
    -w536

  2. 接下來,我們來創建一條垂直的Barrier:
    -w540

  3. 創建後,我們把這兩個View拖到這個Barrier裏面:
    -w765

    注意:這裏將View拖進去並不是真正創建了層級關係,我們看代碼可以知道,僅僅這個Barrier引用了兩個View的ID:

    <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" />
  4. 默認的Barrier是在所有元素的左面,我們選中它後可以選擇靠右對齊:
    -w254

    創建完成後我們來調整其裏面的各個View的大小和位置就可以理解它的作用了:

    -w539
    -w541

總結

Barrier特別在複雜的頁面佈局的時候非常有用,不需要創建一個容器來放置這些子View來實現這樣的功能了,這也是我們使用ConstraintLayout的初衷,保證層級的簡單和高效。

下一篇:Android開發 - 掌握ConstraintLayout(九)分組(Group),我們將介紹分組(Group)的使用。

如有更多疑問,請參考我的其它Android相關博客:我的博客地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章