有时候,我们的布局中需要显示一个很复杂的视图,但这个视图却很少用到,这时我们便可使用ViewStub.
ViewStub是一个没有大小也不会被绘制的轻量级的视图,它只会在需要要的时候才会被绘制。
使用示例:
<ViewStub
android:id="@+id/stub_import"
android:inflatedId="@+id/panel_import"
android:layout="@layout/progress_overlay"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom" />
((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE);
// or
View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate();
http://developer.android.com/intl/zh-cn/training/improving-layouts/loading-ondemand.html