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(); } }