Android之ViewStub

    在日常Xml布局中我们常常会用的<include/>标签去重用一些layout布局文件,但是在有些情况下有些重用layout其实很少用到(或者换一种说法,是很少显示).在这种情况下使用<ViewStub/>标签替代<include/>标签,这样这种很少使用的layout就不会加载到主要的Layout布局文件中,节约的加载时间和开销,当我们需要使用该layout的时候直接调用ViewStub中的inflate()方法就可以显示出重用的layout布局文件。

技术分享

使用ViewStub属性其实非常简单,在xml布局中的代码片段如下.

<ViewStub android:id="@+id/stub"
           android:inflatedId="@+id/subTree"
           android:layout="@layout/view_stub_test"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content" />

解释一下2个属性:

android:layout="@layout/view_stub_test"

这个属性与<include/>标签中layout属性一样,指明填充的layout布局。

android:inflatedId="@+id/subTree"

这个属性其实是填充的layout布局的重命名.

如果需要使用填充的layout布局(即view_stub_test)在代码中,只需要简单的调用如下即可

viewStub = (ViewStub)findViewById(R.id.stub);
viewStub.inflate();


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。