片段内的Android 1.6 TabHost

Ray*_*non 3 android android-tabhost android-fragments android-support-library

在演示Support4Demos - API 4+支持演示中,Tabs和TabsPager示例都扩展了FragmentActivity.每个标签内容本身就是一个片段.没有真正的突破,TabActivity以相同的方式使用而没有引入Fragment.

现在假设在我的Activity中,屏幕部分是名为WidgetFragment的片段.WidgetFragment如何包含TabHost?可视化活动中包含的迷你TabHost.我尝试了一种可能的方法在Fragment中插入TabHost而不是FragmentActivity.

Ray*_*non 5

在普遍接受的做法中,Tabs适合整个屏幕.大多数人(包括我)都不知道标签可以放在任何地方,就像一个简单的视图,ListView.诀窍是将TabHost包含在另一个布局中.创建TabHost时,请始终保留以下ID:tabhost,tabs,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>
Run Code Online (Sandbox Code Playgroud)

仔细看看Support4Demos中的Tabs和TabsPager示例,TabHost仍然由FragmentActivity管理.每个标签内容都是一个片段.使用TabActivity时,可能无法在任何位置显示选项卡

最后,这就是它的样子

在此输入图像描述