zoukankan      html  css  js  c++  java
  • android -------- ConstraintLayout Group和goneMargin(五)

    前面的文章

    ConstraintLayout 介绍 (一)

    ConstraintLayout约束属性 (二)

    ConstraintLayout 宽高比和偏移量比(三)

    ConstraintLayout Guideline和Barrier(四)

    此博文主要讲解: Group和goneMargin

     

    1:Group

    在开发中,有时候需要同时隐藏或者显示多个控件,用Group就可以很好的实现,是一个辅助类,不会绘制到屏幕上,也不会展现给用户。

    通过属性app:constraint_referenced_ids 将一些 View 组成组进行集体操作,最常见的操作是setVisibility

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    
       <!--android.support.constraint.Group(群组)
       -->
    
    
        <TextView
            android:id="@+id/tv1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:text="@string/app_name"
            android:background="@color/colorAccent"
            app:layout_constraintStart_toStartOf="parent"
            android:gravity="center"
            android:layout_marginTop="15dp"
            app:layout_constraintTop_toTopOf="parent"
            />
    
        <TextView
            android:id="@+id/tv2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World"
            android:layout_marginTop="15dp"
            app:layout_constraintStart_toEndOf="@+id/tv1"
            app:layout_constraintTop_toTopOf="parent"
            android:layout_marginLeft="15dp"
            />
    
        <android.support.constraint.Group
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:constraint_referenced_ids="tv1,tv2"
            android:visibility="visible"
            />
    
    
    
    </android.support.constraint.ConstraintLayout>

    将 android:visibility="gone"  则两个布局都隐藏掉了

    2:goneMargin

    当前View与另一个View绑定后,另一个View的属性设置为了Gone,则以下属性会生效
      layout_goneMarginStart
      layout_goneMarginEnd
      layout_goneMarginLeft
      layout_goneMarginTop
      layout_goneMarginRight
      layout_goneMarginBottom

    代码:

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    
        <!--    app:layout_goneMarginLeft="25dp"
                tv1 设置了android:visibility="gone" 才生效(当前View与另一个View绑定后,
                另一个View的属性设置为了Gone,才会生效)
        -->
    
        <TextView
            android:id="@+id/tv1"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:background="#f5ec7e"
            android:gravity="center"
            android:text="Hello World!"
            app:layout_constraintLeft_toLeftOf="parent"
            android:visibility="gone"
            />
    
        <TextView
            android:id="@+id/tv2"
            android:layout_width="100dp"
            android:layout_height="100dp"
            android:background="#fa6e61"
            android:gravity="center"
            android:text="Hello World!"
            app:layout_constraintLeft_toRightOf="@+id/tv1"
            android:layout_marginLeft="15dp"
            app:layout_goneMarginLeft="55dp"
            />
    
    
    </android.support.constraint.ConstraintLayout>

    Group和goneMargin 这两个属性很简单,使用也方便

  • 相关阅读:
    (二)建筑物多边形化简系列——多边形点数化简
    (一)建筑物多边形化简系列——去除噪点环
    (三)建筑物多边形化简系列——去除冗余点
    (五)建筑物多边形化简系列——最小外接矩形的获取
    vue笔记
    学习react基础知识(五)
    学习react基础知识(四)
    学习react基础知识(三)
    学习react基础知识(二)
    学习react基础知识(一)
  • 原文地址:https://www.cnblogs.com/zhangqie/p/9720053.html
Copyright © 2011-2022 走看看