Kotlin 布局的可见性

visibility of a layout in Kotlin

我有一个布局,我想在单击按钮时使其可见(首先是“GONE”)。

<include
    android:id="@+id/registration_layout"
    layout="@layout/user_registration"
    android:visibility="gone"/>
<include
    android:id="@+id/login_layout"
    layout="@layout/login"
    android:visibility="gone"/>

这是我在 xml 文件中包含的内容

fun onClickLogin(view: View) {
    val login_layout = R.id.login_layout as Layout
    val registration_layout = R.id.login_layout as Layout
    login_layout.visibility = View.VISIBLE

    val btn_login = R.id.registration as Button
    val btn_registration = R.id.registration as Button
    btn_login.visibility = View.VISIBLE
}

在我的 kotlin 文件中,按钮的可见性有效但布局无效...有什么建议吗?谢谢!

不是转换为 Layout,而是将布局转换为 View

fun onClickLogin(view: View) {
    val login_layout = R.id.login_layout as View //note : from import android.view.View
    val registration_layout = R.id.registration_layout as View //note: you wrote R.id.login_layout
    login_layout.visibility = View.VISIBLE
    registration_layout.visibility = View.GONE

    val btn_login = R.id.btn_login as Button
    val btn_registration = R.id.registration as Button
    btn_login.visibility = View.VISIBLE
    btn_registration = View.GONE
}