Android開發 - 掌握ConstraintLayout(八)障礙線(Barrier)
阿新 • • 發佈:2018-11-29
本文我們來介紹障礙線(Barrier)的使用,平常在開發中用的相對要少一些,但是在需要時會非常方便。
它的作用是將多個元素放到這個障礙線裡面使時,其中的任何元素的大小或位置變化時都會使它的位置進行改變。
可以理解成一面牆,"牆"裡面任何元素的位置或大小改變時都會導致它的改變,從而保證所有的元素都在"牆"裡面。
下面我們來舉例進行說明,會更加直觀。
首先,我們先建立兩個元素:
接下來,我們來建立一條垂直的Barrier:
建立後,我們把這兩個View拖到這個Barrier裡面:
注意:這裡將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" />
- 預設的Barrier是在所有元素的左面,我們選中它後可以選擇靠右對齊:
建立完成後我們來調整其裡面的各個View的大小和位置就可以理解它的作用了:
總結
Barrier特別在複雜的頁面佈局的時候非常有用,不需要建立一個容器來放置這些子View來實現這樣的功能了,這也是我們使用ConstraintLayout的初衷,保證層級的簡單和高效。
下一篇:Android開發 - 掌握ConstraintLayout(九)分組(Group),我們將介紹分組(Group)的使用。
如有更多疑問,請參考我的其它Android相關部落格:我的部落格地址