• 【Android】在使用约束布局(ConstraintLayout)中,当某个子View发生隐藏后,某个View无法正确显示了


    问题背景

    在使用约束布局(ConstraintLayout)中,当某个子View发生隐藏后,某个View无法正确显示了。

    问题分析

    比如说是一个TextView文本内容无法显示。可能你发现setText方法很明显调用了,但是就是无法显示。而你通过“显示布局边界”发现,TextView的边界根本就没有,由此可以判定TextView 是Gone掉了。

    在ConstraintLayout布局中,如果某个View约束于另外一个View,当后者View隐藏时,前者的View可能不会正常显示。

    这是因为ConstraintLayout布局中的约束是相互关联的,一个View的位置和大小通常依赖于其他View的约束条件。当一个View隐藏后,它所依赖的约束条件就不存在了,因此与该View相关的其他View的位置和大小可能会受到影响,从而导致显示异常。

    解决方案

    1. 重新设置View的约束条件:当隐藏的View重新显示时,可以手动重新设置相关的约束条件,以确保其他View能够正确显示。
    2. 删除约束条件:确定隐藏的View不会再显示时,可以考虑删除与它相关的约束条件,然后重新设置其他View的约束条件,以确保它们能够正常显示。
    3. 使用可变参数来设置约束条件:您可以尝试使用可变参数来设置约束条件,以便在View隐藏时能够自动适应并保持正确的位置和大小。
    4. 比较简单的方法是,插入一个占位的View,它不会Gone掉,但约束依然存在。(即便它可能约束于其他View Gone掉后仍旧能保持整体View正常显示)。
  • 相关阅读:
    【无标题】
    别卷了!今年局势不一样开始裁员濒临失业
    单芯片3路CC管理的VR转接器解决方案
    【0基础学Java第二课】数据类型与变量
    CH08_搬迁特性
    常用消息中间件有哪些
    nvm 常用命令
    模型效果测试
    JUnit5单元测试框架简单使用
    分享40个Python源代码总有一个是你想要的
  • 原文地址:https://blog.csdn.net/ganshenml/article/details/134401704