我有一个TabHost布局(下面的代码)
<TabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myTabHost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="65dp" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="65dp" >
<LinearLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
</FrameLayout>
</TabHost>
我正在TabHost中加载一些活动,关于活动的一切都是OK的。但我的问题是关于加载另一个布局在TabHost的顶部通过包括标签,在其他布局中,比如LinearLayout,我在里面放了一个include标签,这是可以的,但在TabHost中,我不能这样做,因为添加include后TabHost UI会损坏
.请告诉我如何解决这个问题
用另一个LinearLayout
标签像这样包装你的TabHost
标签:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<!-- inclde goes here -->
<TabHost
android:id="@+id/myTabHost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Other tags as you have already. -->
</TabHost>
</LinearLayout>
然后将LinearLayout
作为TabHost
的父级,并在其他layouts
中使用include标记包括LinearLayout
,如下所示:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLinearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TabHost
android:id="@+id/myTabHost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="65dp" >
</TabWidget>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="65dp" >
<LinearLayout
android:id="@+id/content"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
</LinearLayout>
</FrameLayout>
</TabHost>
</LinearLayout>