在演示Support4Demos - API 4+ Support Demos中,Tabs和TabsPager示例都扩展了FragmentActivity。每个标签内容本身就是一个片段。没有真正的突破,TabActivity在没有引入Fragment的情况下以相同的方式使用。
现在假设在我的Activity中,屏幕部分是名为WidgetFragment的片段。 WidgetFragment如何包含TabHost?可视化活动中包含的迷你TabHost。 我尝试了一种可能的方法在片段中插入TabHost而不是FragmentActivity。
答案 0 :(得分:5)
在普遍接受的做法中,Tabs适合整个屏幕。 大多数人(包括我)都不知道标签可以放在任何地方,就像一个简单的视图,ListView。 诀窍是将TabHost包含在另一个布局中。创建TabHost时,请始终保留以下ID: tabhost,制表符,tabcontent
在主布局中,包含tabhost.xml。在这里,我将TabHost置于中间
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Fill whatever you need -->
<FrameLayout
android:id="@+id/widget_fragment"
android:layout_centerVertical="true" android:layout_centerHorizontal="true"
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<include layout="@layout/tabhost" />
</FrameLayout>
</LinearLayout>
仔细观察Support4Demos中的Tabs和TabsPager示例,TabHost仍然由FragmentActivity管理。每个标签内容都是一个片段。使用TabActivity时,可能无法在任何地方添加标签
最后,这就是它的样子