Viewstub的使用是比較簡單的。他就彷彿是個layout。而後把其餘的佈局文件看做是一個view標籤 而後把這些view標籤往這個layout中填充, 固然 這個layout也能夠有本身的佈局方式 因此我把他理解成爲嵌套佈局。android
源碼下載地址: http://zhengxdstudy.googlecode.com/svn/trunk/zhengxdstudy/viewstubapp
效果圖ide
viewstub佈局文件svn
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>佈局<ViewStub
android:id = "@+id/stub_import"
android:inflatedId = "@+id/panel_import"
android:layout = "@layout/index" 指定index.xml佈局文件
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:layout_gravity = "bottom"/> ui<include layout="@layout/foot" /> 引用foot.xml佈局文件
</LinearLayout>google
index.xmlspa
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"code>
<TextView
android:layout_width="fill_parent"
android:layout_height="20px" />xml<TextView
android:layout_width="fill_parent"
android:layout_height="10px" />
<Button
android:id="@+id/photo"
android:layout_width="280px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="xx1 > "/>
<TextView
android:layout_width="fill_parent"
android:layout_height="10px" />
<Button
android:id="@+id/putOut"
android:layout_width="280px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="xx 2 >"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="10px" />
<Button
android:id="@+id/bbs"
android:layout_width="280px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="xx 3 >"/>
</LinearLayout>
</ScrollView>
foot.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="380px"
><Button
android:id="@+id/login"
android:layout_width="80px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="登陸 "/>
<Button
android:id="@+id/search"
android:layout_width="80px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="搜索 "/>
<Button
android:id="@+id/help"
android:layout_width="80px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="幫助 "/>
<Button
android:id="@+id/quit"
android:layout_width="80px"
android:layout_height="40px"
android:layout_gravity="center"
android:text="退出 "/>
</LinearLayout>
Activity加載
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewStub;public class viewstub extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //((ViewStub) findViewById(R.id.stub_import)).setVisibility(View.VISIBLE); View importPanel = ((ViewStub) findViewById(R.id.stub_import)).inflate(); } }