ViewStub

2018-12-27  本文已影响6人  主音King

ViewStub使用
默认不渲染,inflate后才渲染。

    <ViewStub
        android:id="@+id/myStub"
        android:layout="@layout/stub_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

需要时才会加载,减少内存使用量,加快渲染速度,是一个不可见的,大小为0的View.
只有ViewStub会被初始化,然后当ViewStub被设置为可见的时候即ViewSub.visibility=View.VISIBLE,或是调用了ViewStub.inflate()的时候,ViewStub所向的布局就会被Inflate和实例化,然后ViewStub的布局属性都会传给它所指向的布局(就算你find ViewStub也为null)。
注意:

viewSub.visibility= View.VISIBLE或 
viewSub.inflate() 

执行之后ViewSub这个控件就为null。其实就是一个傀儡,主任不在就充当主人,主任在了就为null了。

上一篇下一篇

猜你喜欢

热点阅读