iewstub的使用是比较简单的。他就仿佛是个layout。然后把其他的布局文件看作是一个view标签 然后把这些view标签往这个layout中填充, 当然 这个layout也可以有自己的布局方式 所以我把他理解成为嵌套布局。
源码下载地址: http://zhengxdstudy.googlecode.com/svn/trunk/zhengxdstudy/viewstub
效果图
viewstub布局文件
<?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"/><include layout="@layout/foot" /> 引用foot.xml布局文件
</LinearLayout>
index.xml
<?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">
<TextView
android:layout_width="fill_parent"
android:layout_height="20px" /><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();
}
}