我正在研究使用片段制作标签。而且我想知道如何将TabWidget放在页面底部。
我正在研究FragmentTab.java示例(支持库v4)。
有一个XML布局:
<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0"/>
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
无论我做什么,TabWidget仍然排在最前面。实际上我可以删除TabWidget标签,但项目仍然会成功启动,TabWidget会再次出现。
现在使用FragmentActivity和FragmentTabHost是否意味着我只能将我的TabWidget放在首位?
谢谢。
答案 0 :(得分:0)
你快到了!我认为这里缺少的是你在<{strong> TabWidget
之前放置FrameLayout
。此外,我认为您不能将0dp宽度和高度设置为@android:id/tabcontent
,它是需要显示的layout_weight="1"
。试试这个(编辑过):
<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"/>
<!--
<FrameLayout
android:id="@+id/realtabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
-->
<TabWidget
android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>