使用ConstraintLayout后我們的布局是沒有層級關(guān)系的斥废,各個(gè)View之間都是平級關(guān)系笨触,但是如果根據(jù)某個(gè)業(yè)務(wù)條件來控制多個(gè)View的顯示與否芒划,我們需要分別對每個(gè)View進(jìn)行控制巩掺,需要調(diào)用多次setVisibility()贼穆。這樣就顯得非常不方便。
本文所介紹的Group就是解決這個(gè)問題的坯临。
Group就是一個(gè)分組焊唬,可以關(guān)聯(lián)多個(gè)View,從而只需要對這個(gè)分組進(jìn)行控制就可以實(shí)現(xiàn)這樣的場景看靠。
我們下面來介紹它的使用赶促。
添加分組
首先,我們添加一個(gè)Group:
關(guān)聯(lián)元素
然后將頁面上的元素拖動到這個(gè)分組中:
注意這里將View拖動到這個(gè)Group中挟炬,并不是創(chuàng)建了一個(gè)層級關(guān)系鸥滨,而是Group關(guān)聯(lián)了這些View,同上一篇:Barrier的使用一樣谤祖,可以查看代碼:
這樣我們就構(gòu)成了一個(gè)分組婿滓,然后我們只需要控制這個(gè)分組的顯示與否就可以同時(shí)控制其關(guān)聯(lián)的View的顯示與否了。
顯示控制
我們選中這個(gè)Group粥喜,然后在右側(cè)的屬性欄可以改變其顯示屬性凸主。當(dāng)然也可以通過代碼來控制:
findViewById(R.id.group).setVisibility(View.GONE);
總結(jié)
因?yàn)閭鹘y(tǒng)布局存在View的層級關(guān)系,所以通過控制父View的顯示即可额湘。使用ConstraintLayout后則可以通過使用分組可以解決這樣的問題卿吐。
下一篇:Android開發(fā) - 掌握ConstraintLayout(十)按比例設(shè)置視圖大小,我們將介紹如何按比例設(shè)置View的大小锋华。
如有更多疑問嗡官,請參考我的其它Android相關(guān)博客:我的博客地址