我有一个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
}
}
答案 0 :(得分:1)
将toggleVisibility
更改为
if (visibility == View.VISIBLE) {
visibility = View.GONE
} else {
visibility = View.VISIBLE
}
将可见性设置为invisible
时,会保留布局约束,但视图是隐藏的。将其设置为gone
也会删除布局约束。