中山移动网站设计公司,旅游网站建设推广,网站模版下载,沈阳网站建设024w问题背景
在使用约束布局#xff08;ConstraintLayout#xff09;中#xff0c;当某个子View发生隐藏后#xff0c;某个View无法正确显示了。
问题分析
比如说是一个TextView文本内容无法显示。可能你发现setText方法很明显调用了#xff0c;但是就是无法显示。而你通过…问题背景
在使用约束布局ConstraintLayout中当某个子View发生隐藏后某个View无法正确显示了。
问题分析
比如说是一个TextView文本内容无法显示。可能你发现setText方法很明显调用了但是就是无法显示。而你通过“显示布局边界”发现TextView的边界根本就没有由此可以判定TextView 是Gone掉了。
在ConstraintLayout布局中如果某个View约束于另外一个View当后者View隐藏时前者的View可能不会正常显示。
这是因为ConstraintLayout布局中的约束是相互关联的一个View的位置和大小通常依赖于其他View的约束条件。当一个View隐藏后它所依赖的约束条件就不存在了因此与该View相关的其他View的位置和大小可能会受到影响从而导致显示异常。
解决方案
重新设置View的约束条件当隐藏的View重新显示时可以手动重新设置相关的约束条件以确保其他View能够正确显示。删除约束条件确定隐藏的View不会再显示时可以考虑删除与它相关的约束条件然后重新设置其他View的约束条件以确保它们能够正常显示。使用可变参数来设置约束条件您可以尝试使用可变参数来设置约束条件以便在View隐藏时能够自动适应并保持正确的位置和大小。比较简单的方法是插入一个占位的View它不会Gone掉但约束依然存在。即便它可能约束于其他View Gone掉后仍旧能保持整体View正常显示。