特性详解
Visibility behavior (可见性的表现)
ConstraintLayout对可见性被标记View.GONE
的控件(后称“GONE
控件”)有特殊的处理。一般情况下,GONG
控件是不可见的,且不再是布局的一部分,但是在布局计算上,ConstraintLayout与传统布局有一个很重要的区别:
- 传统布局下,
GONE
控件的尺寸会被认为是0(当做点来处理)
- 在ConstraintLayout中,
GONE
控件尺寸仍然按其可见时的大小计算,但是其外边距大小按0计算
![image.png](https://img-blog.csdnimg.cn/img_convert/60e98a8192c32dac0b91e2447c969662.png)
这种特殊的行为让我们在无需打乱布局情况下,在标记GONE控件的地方构建布局(如上图),这样的做法对于做简单的布局动画很有用。
注意:使用的边距将是B在连接到A时定义的边距(见上图)。在某些情况下,这可能不是您想要的余量(例如A在其容器侧面有100dp的边距,B只有16dp到A,A标记为已消失,B对容器的边距为16dp)。因此,您可以指定在连接到标记为已删除的窗口小部件时要使用的备用边距值