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了。
网友评论