Android ConstraintLayout進階:Group的使用及實例

分組

Android里的ConstraintLayout是個非常強大的工具,它有效的解決了Android里L(fēng)ayout的層級嵌套的問題。使用一個ConstraintLayout可以實現(xiàn)之前多個Layout才能實現(xiàn)的效果。

本篇文章就介紹下ConstraintLayout里比較進階用法之一:Group。

在我們的日常開發(fā)中,經(jīng)常遇到這種場景:幾個控件需要同時消失或者出現(xiàn)。在沒有ConstraintLayout的時代,這個操作很容易:因為這些控件一般都在一個父ViewGroup里,所以只要把這個ViewGroup設(shè)置消失或出現(xiàn)即可。

但是,當(dāng)我們引入了ConstraintLayout之后,因為消除了層級嵌套,所有的控件都“平攤”在作為root的ConstraintLayout下面了。在這種情況下,要方便的同時操作幾個控件,似乎比以前麻煩了。

Group就是為了解決這個問題而誕生的。

Group示例

首先,我們定義2個控件:

    <Button
        android:id="@+id/btn_a"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginTop="200dp"
        android:layout_marginLeft="30dp"
        android:text="這是控件A"/>

    <Button
        android:id="@+id/btn_b"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintLeft_toLeftOf="@id/btn_a"
        app:layout_constraintTop_toBottomOf="@id/btn_a"
        android:layout_marginTop="30dp"
        android:text="這是控件B"/>

然后,我們定義一個Group:

<android.support.constraint.Group
        android:id="@+id/group"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="visible"
        app:constraint_referenced_ids="btn_a,btn_b"/>

通過app:constraint_referenced_ids="btn_a,btn_b"這句,讓group把btn_a和btn_b兩個控件包含進來。注意,雖然Group也是一個控件,但是在UI上是看不見的。

接下來,我們可以通過操作這個Group來同時操作btn_a和btn_b兩個控件:

findViewById(R.id.group).setVisibility(View.GONE);

上面這行代碼可以把btn_a和btn_b同時設(shè)置為View.Gone。

注意:一個控件可以屬于多個Group,這是允許的。此時,這個控件的屬性由xml里最后一個包含它的Group決定。


以上就是對ConstraintLayout里Group的介紹,希望可以幫到你。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 使用package語句對Java的類實施分包管理 為什么要分包管理呢?在實際開發(fā)中,一個項目可能存在上百個甚至上千...
    buzhidao_閱讀 570評論 0 2
  • 下午,我到隔壁阿婆家里打棗子。 我拿起了一個工具,這是一根長長的、細(xì)細(xì)的竹子,上面結(jié)實的綁著一個鐵...
    棒棒糖天使閱讀 1,936評論 0 2
  • 小時候,聽到天上飛機的聲音就興奮,仰著頭滿天找,一直盯到飛機變成針尖大小沒了影才罷休。那年代沒有身份證,坐飛機需要...
    太陽石閱讀 1,306評論 3 3
  • 生活也是一種概率說,百分之八十的人符合正態(tài)分布,只有小部分事情是小概率事件。 所有的小概率事件的發(fā)生,不管是極好的...
    看看媽咪閱讀 751評論 0 0

友情鏈接更多精彩內(nèi)容