package com.ct.views; import android.app.Activity; import android.app.ActivityGroup; import android.app.LocalActivityManager; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.view.Window; public class MainActivity extends ActivityGroup { /** Called when the activity is first created. */ private LocalActivityManager mLocalActivityManager; private View lyFirst; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); } private void init(){ mLocalActivityManager = getLocalActivityManager(); lyFirst = activityToView(MainActivity.this,new Intent(MainActivity.this,FirstActivity.class)); setContentView(lyFirst); } public View activityToView(Context parent, Intent intent) { final Window w = mLocalActivityManager.startActivity("id", intent); final View wd = w != null ? w.getDecorView() : null; if (wd != null) { wd.setVisibility(View.VISIBLE); wd.setFocusableInTouchMode(true); ((ViewGroup) wd) .setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS); } return wd; } }
或者另一种方式
用tabActivity
一:布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/main_bg" android:orientation="vertical" android:id="@+id/layout_show"> <include android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" layout="@layout/title" > </include> <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="2dip"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" android:background="@drawable/bg_tab" android:paddingLeft="15dip" android:paddingRight="15dip" android:paddingBottom="2dip"/> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" android:gravity="center" android:fadingEdge="none"></FrameLayout> </LinearLayout> </TabHost> </LinearLayout>
二:activity
extends TabActivity
private void addTabHost() {
tabHost = (AnimationTabHost) getTabHost();
tabHost.addTab(tabHost.newTabSpec(TAB_SENT).setIndicator(TAB_SENT)
.setContent(new Intent(this, SendMessageActivity.class)));
tabHost.addTab(tabHost.newTabSpec(TAB_RECEIVE)
.setIndicator(TAB_RECEIVE).setContent(
new Intent(this, ReceiveMessageAcitvity.class)));
tabHost.addTab(tabHost.newTabSpec(TAB_RUBBISH)
.setIndicator(TAB_RUBBISH).setContent(
new Intent(this, RubbishMessageActivity.class)));
tabHost.addTab(tabHost.newTabSpec(TAB_DRAFTS).setIndicator(TAB_DRAFTS)
.setContent(new Intent(this, DraftsBoxActivity.class)));
tabHost.setCurrentTab(1);
tabHost.setOpenAnimation(true);
}