Viewstub的使用

ViewStub是一个轻量级的View,不占布局位置,占用系统的资源非常的少,它在刚开始的时候是看不见的,只有我们把它inflate()的时候它才会加载这个控件所包括的布局
使用场景:当我们需要有选择的显示某个控件的时候我们可以使用这个控件,基本不占用资源
注意事项:
1.我们所要注意的是  ViewiStub只能inflate()一次,不能频繁使用
2.ViewStub只能inflate()一个布局文件,而不能infalte某一个View,当然也可以把这个view写在一个布局文件内
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:background="@drawable/bg_alertview_alert"
android:layout_height="wrap_content">

<include layout="header"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<ViewStub
android:id="@+id/viewl"
android:layout="@layout/layout_alertview_alert_horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<ViewStub
android:id="@+id/view2"
android:layout="@layout/layout_alertview_alert_vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
//我们需要先把viewStub inflate() 然后我们就可以得到里面包括的布局
ViewStub viewStub = (ViewStub) viewGroup.findViewById(R.id.viewl);
viewStub.inflate();
LinearLayout loAlertButtons = (LinearLayout)
viewGroup.findViewById(R.id.loAlertButtons);

你可能感兴趣的:(android,布局,控件)