如何在Kotlin中展开和折叠TextView后恢复布局位置

时间:2019-05-22 23:32:07

标签: android kotlin cardview

我有一个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
    }
}

1 个答案:

答案 0 :(得分:1)

toggleVisibility更改为

if (visibility == View.VISIBLE) {
    visibility = View.GONE
} else {
    visibility = View.VISIBLE
}

将可见性设置为invisible时,会保留布局约束,但视图是隐藏的。将其设置为gone也会删除布局约束。