【问题标题】:Android 1.6 TabHost inside a Fragment片段内的 Android 1.6 TabHost
【发布时间】:2011-09-02 14:59:10
【问题描述】:

在演示 Support4Demos - API 4+ Support Demos 中,Tabs 和 TabsPager 示例都扩展了 FragmentActivity。每个选项卡内容本身就是一个片段。没有真正的突破,TabActivity 的使用方式相同,没有引入 Fragment。

现在假设在我的 Activity 中,屏幕部分是一个名为 WidgetFragment 的 Fragment。 WidgetFragment 怎么可能包含 TabHost ?可视化包含在 Activity 中的迷你 TabHost。 我尝试了所有可能的方法来在 Fragment 而不是 FragmentActivity 中插入 TabHost。

【问题讨论】:

  • 当你尝试“所有可能的方法”时,发生了什么?
  • 没有用,这就是我问的原因:)。尝试在 Fragment 中实现它,就像在演示中的 FragmentActivity 中一样。
  • 请定义“无效”。

标签: android android-fragments android-tabhost android-support-library


【解决方案1】:

在普遍接受的做法中,标签适合整个屏幕。 大多数人(包括我)都不知道选项卡可以像简单的视图 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>

看好 Support4Demos 中的 Tabs 和 TabsPager 示例,TabHost 仍然由 FragmentActivity 管理。每个选项卡内容都是一个片段。使用 TabActivity,可能无法在任何地方都有选项卡

最后是这个样子

【讨论】:

    猜你喜欢
    • 2012-01-31
    • 2011-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多