Android TabHost仅在一个片段内(NavigationDrawer)

时间:2013-12-30 19:41:07

标签: android android-fragments navigation-drawer

我目前正在使用导航抽屉编写一个使用大量可访问碎片的应用程序。到目前为止一切都很好,但我也希望在其中一个片段中有一个带有2个标签的TabHost。我该如何最好地实现它?这是一段代码:

public class SectionFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {

int position = getArguments().getInt("position");

if (position == 0) {

    rootView = inflater.inflate(R.layout.startmenu_layout, container,
        false); // die rootView zum Weiterarbeiten holen
} else if (position == 1) {
    rootView = inflater.inflate(R.layout.startmenu_layout, container,
        false);

依旧......

我如何做得最好? 提前谢谢,

forumfresser

1 个答案:

答案 0 :(得分:0)

这是我用于TabHost的代码 我知道你的感受,因为很难找到一个有效的教程和一个有效的例子......

反正

TabHost tabs=(TabHost)findViewById(R.id.tabhost);

tabs.setup();

TabHost.TabSpec spec=tabs.newTabSpec("tag1");

spec.setContent(R.id.tab1);//here you define which tab you want to setup
spec.setIndicator("So Close");//here you choose the text showed in the tab
tabs.addTab(spec);

spec=tabs.newTabSpec("tag2");
spec.setContent(R.id.tab2);
spec.setIndicator("Contacts");
tabs.addTab(spec);

这是我使用的xml代码

<TabHost
        android:id="@+id/tabhost"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@+id/setting" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="46dp"
            android:background="@drawable/transparent_white" />

        <FrameLayout android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent">

            <TextView
                android:id="@+id/tab1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:textColor="@color/white"
                android:textAppearance="?android:attr/textAppearanceLarge" />


            <TextView
                android:id="@+id/tab2"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:textAppearance="?android:attr/textAppearanceLarge"  />

        </FrameLayout>

    </LinearLayout>
</TabHost>

确保根据 res

更改 TabWidget 的背景

你可以将xml代码放在你的布局文件,RelativeLayout或LinearLayout中...你可以改变选项卡中显示的数据类型......希望我能帮忙:)