android widget Group使用不能单独控制某个view的显隐

android widget Group使用不能单独控制某个view的显隐

  • androidx.constraintlayout.widget.Group

    Group 用于控制所引用的一组控件的可见性(Visibility),constraint_referenced_ids用来设置要参考的控件id,多个控件id间以逗号的形式隔开,官方解释入口

  • 举个栗子:
    	<androidx.constraintlayout.widget.Group
    	              android:id="@+id/group"
    	              android:layout_width="wrap_content"
    	              android:layout_height="wrap_content"
    	              android:visibility="visible"
    	              app:constraint_referenced_ids="button1,button2" />
    

    这段代码控制button1 和 button2 的显示,在之后只需要设置group的visibility就可控制这两个button的显示隐藏

注意

  • 使用group管理的view在单独设置其显隐无效,group的优先级高于单独设置

  • 某个view有多个group管理时,view地最终显示状态跟group在xml文件里的声明顺序有关,最后声明的决定view的状态.如下:

    					<androidx.constraintlayout.widget.Group
    					              android:id="@+id/group"
    					              android:layout_width="wrap_content"
    					              android:layout_height="wrap_content"
    					              android:visibility="visible"
    					              app:constraint_referenced_ids="button1,button2" />
    					<androidx.constraintlayout.widget.Group
    					              android:id="@+id/group1"
    					              android:layout_width="wrap_content"
    					              android:layout_height="wrap_content"
    					              android:visibility="invisible"
    					              app:constraint_referenced_ids="button1,button4" />
    

    这段代码表示button1的最终状态由group1控制

你可能感兴趣的:(采坑记录,Android,开发)