Java和Kotlin中的ViewStub用法

Java和Kotlin中的ViewStub用法区别

XML布局如下:

    
<LinearLayout 	        
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
                  android:layout_width="match_parent"
                  android:layout_height="match_parent"
                  android:orientation="vertical">

    <ViewStub
        android:id="@+id/viewStub"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout="@layout/viewstub_test"/>
        
</LinearLayout>

ViewStub viewstub_test的布局:

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:gravity="center_horizontal">
    
    <TextView
     	android:id="@+id/tv_title"
        android:text="HelloWorld"
        android:textSize="36sp"
        android:textColor="#fff"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

在Java中ViewStub的用法如下:

//需要先找到ViewStub
ViewStub vs = (ViewStub)findViewById(R.id.viewStub)
//或者直接设置Visiable   vs.setVisibility(View.VISIBLE);
LinearLayout layout = (LinearLayout)vs.inflate()
//找到ViewStub里面的view
TextView tv = layout.findViewById(R.id.tv_title)
tv.setText("你好~")

在Kotlin中ViewStub的用法如下:

//viewStub.inflate()
viewStub.visibility = View.VISIBLE
//不需要再次findViewById 可以直接调用
//TextView tv = layout.findViewById<TextView>(R.id.tv_title)
tv_title.text = "你好"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值