先贴上一段代码:
main.xml:
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" >
<LinearLayout android:id="@+id/tab_top" android:background="@color/red" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="20dp" android:layout_alignParentTop="true" > </LinearLayout>
<FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:background="@color/green" android:layout_height="wrap_content" android:layout_above="@id/tabs" android:layout_below="@id/tab_top" > </FrameLayout>
<TabWidget android:id="@+id/tabs" android:layout_width="fill_parent" android:background="@color/blue" android:layout_height="20dp" android:layout_alignParentBottom="true" > </TabWidget> </RelativeLayout>
</TabHost>
显示为如下:
这说明以<TabHost>为头的布局文件下可以很好的存在帧布局视图。在上面可放一个view,在下面可放一个选项卡去完成切换中间帧布局内容。
注意,若不要中间的<FrameLayout>,则会出现RuntimeException异常:
Your TabHost must have a FrameLayout whose id attribute is 'android.R.id.tabcontent'。
由此也可看出,中间的帧布局文件是专门用来装载内容用的。