我在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>
我的问题是:
如何将TabActivity替换为FragmentActivity或其他,所以我使用包含所有相同活动的标签?
提前致谢。
答案 0 :(得分:2)
我建议您将解决方案基于操作栏(或操作栏Sherlock)并将标签移至顶部。我建议FragmentActivity(或SherlockFragmentActivity)为每个选项卡添加一个Fragment。我已经在我的应用程序中完成了这项工作,并且编程很简单且记录完备。我建议你 从这看起来开始:
http://developer.android.com/guide/topics/ui/actionbar.html
祝你好运!