2

我在 android 上开发了一个应用程序,其结构如下: 在此处输入图像描述

活动 1、活动 2、...、活动 n - 是具有相关活动的选项卡。

    TabHost tabHost = getTabHost();
    Resources res = getResources();        
    View view = null;        
    Context ctx = MyApplication.getInstance().getApplicationContext();

    TabSpec startspec = tabHost.newTabSpec("Login");
    view = prepareTabView(ctx, "Login", res.getDrawable(R.drawable.menu_bkg),  R.drawable.tab_files_selector);
    startspec.setIndicator(view).setContent(new Intent(this, LoginActivity.class));
    tabHost.addTab(startspec);

TabActivity 内容视图:

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/title_band"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:orientation="vertical" >


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

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </RelativeLayout>
</FrameLayout>

</TabHost>

我的问题是:

如何用 FragmentActivity 或其他替换 TabActivity,所以我使用所有相同活动的选项卡?

提前致谢。

4

1 回答 1

2

我建议您将您的解决方案基于 Action Bar(或 Action Bar Sherlock )并将您的选项卡移到顶部。我建议每个选项卡都有一个 FragmentActivity(或 SherlockFragmentActivity)。我已经在我的应用程序中完成了这项工作,并且编程简单明了并且有据可查。我建议你先看看这个:

http://developer.android.com/guide/topics/ui/actionbar.html

祝你好运 !

于 2013-07-03T09:48:49.663 回答