美文网首页
ViewStub 使用

ViewStub 使用

作者: sexyhair | 来源:发表于2018-11-10 14:58 被阅读0次

    概述

    ViewStub初始不可见且大小为0

    ViewStub可用于在运行时延迟扩展布局资源,可以避免资源浪费。在UI性能优化时比较好用的,尤其layout比较复杂的时候。

    ViewStub的setVisibility(int)或inflate()被调用后,ViewStub会被其属性layout指定的View替换掉,即ViewStub执行setVisibility(int)或inflate()后会不存在,所以不可再后续使用ViewStub进行操作

    可以使用ViewStub的inflatedId属性来定义/覆盖inflate View的id。

    使用

    使用场景:以蒙层引导为例
    xml中

    <ViewStub
        android:id="@+id/guideHomeMsg"
        android:layout_width="match_parent"
        android:layout="@layout/viewstub_layout"
        android:layout_height="match_parent" />
    

    Kotlin代码中

    var guideMsgContainer  = guideHomeMsg.inflate()
    

    guideMsgContainer就是viewstub_layout中的父容器View

    验证下ViewStub执行setVisibility(int)或inflate()后ViewStub会被layout所替代


    https://www.jianshu.com/p/5f64bacbd759
    https://developer.android.com/reference/android/view/ViewStub

    相关文章

      网友评论

          本文标题:ViewStub 使用

          本文链接:https://www.haomeiwen.com/subject/cczmxqtx.html