3

デモSupport4Demos-API4+Support Demosでは、TabsとTabsPagerの例の両方がFragmentActivityを拡張しています。各タブコンテンツはそれ自体がフラグメントです。本当のブレークスルーはありません。TabActivityはFragmentを導入せずに同じように使用されました。

ここで、アクティビティ内で、画面部分がWidgetFragmentという名前のフラグメントであるとします。WidgetFragmentにTabHostを含めるにはどうすればよいですか?アクティビティ内に含まれるミニTabHostを視覚化します。FragmentActivityではなくFragment内にTabHostを挿入するためのあらゆる可能な方法を試しました。

4

1 に答える 1

5

一般的に受け入れられている方法では、タブは画面全体に収まります。ほとんどの人(私を含む)は、タブが単純なビューである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を使用すると、どこにもタブを配置できない場合があります

最後に、これはそれがどのように見えるかです

ここに画像の説明を入力してください

于 2011-09-07T14:28:11.440 に答える