android - 如何在 Kotlin 中展开和折叠 TextView 后恢复布局位置
问题描述
我有一个 CardView 和一个 TextView 下面。当您单击 CardView 时,它会切换 TextView 的可见性并且它工作正常,但是当它展开时,它会推动我的 LinearLayout 中的下一个项目,并且当它再次折叠时,只有 TextView 所在的空白处。
我该如何做到这一点,以便当 TextView 折叠(可见性消失)时,布局中的下一个项目也会上升到第一次的位置?
//it starts hidden
textView3.visibility = View.GONE
cardView.setOnClickListener{
textView3.toggleVisibility()
}
fun View.toggleVisibility() {
if (visibility == View.VISIBLE) {
visibility = View.INVISIBLE
} else {
visibility = View.VISIBLE
}
}
解决方案
更改toggleVisibility
为
if (visibility == View.VISIBLE) {
visibility = View.GONE
} else {
visibility = View.VISIBLE
}
当您将可见性设置为 时invisible
,布局约束仍然存在,但视图被隐藏。将其设置为gone
也将删除布局约束。
推荐阅读
- c - 如果它是零,我们为什么要乘以 10
- javascript - 拒绝加载图像“http://localhost:5000/favicon.ico”
- php - Codeigniter 事务未捕获错误
- c# - Unity - 精灵在场景视图中消失,但不是游戏视图
- ios - Mapbox:仅当注释在屏幕上可见时才添加注释
- reactjs - 尝试解决 React Context 的问题
- node.js - 定位 EJS 常量并将其传递给帖子
- typescript - “ChildNode”类型缺少“HTMLOptionElement”类型的以下属性
- html - 谷歌搜索引擎 API
- java - 有条件地遍历 JSON 列表并将值反序列化为 Java POJO String