ActivityGroup效果和TabHost效果类似。TabHost限制较多,自己定制不容易使用。
下面举例说明一下ActivityGroup的使用。
两个按钮,点击不同按钮切换不同的activity。
private Button button1;
private Button button2;
private LinearLayout container;
private OnClickListener l = new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.button1:
switchActivity(0);
break;
case R.id.button2:
switchActivity(1);
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button1 = (Button)findViewById(R.id.button1);
button2 = (Button)findViewById(R.id.button2);
container = (LinearLayout) findViewById(R.id.container);
button1.setOnClickListener(l);
button2.setOnClickListener(l);
switchActivity(0);
}
private void switchActivity(int id){
container.removeAllViews();
Intent intent = null;
switch(id){
case 0:
intent = new Intent(this,TestActivity1.class);
break;
case 1:
intent = new Intent(this,TestActivity2.class);
break;
}
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Window subActivity = getLocalActivityManager().startActivity("subActivity", intent);
container.addView(subActivity.getDecorView(),LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
}
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:id="@+id/button1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="窗体1" />
<Button android:id="@+id/button2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="窗体2" />
</LinearLayout>
<LinearLayout android:id="@+id/container" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:background="#0000ff">
</LinearLayout>
</LinearLayout>
从”窗口1“切换至”窗口2“时,事件执行的先后顺序如下:
INFO/TestActivity1(11718): onPause
INFO/TestActivity1(11718): onStop
INFO/TestActivity1(11718): onDestroy
INFO/TestActivity2(11718): onStart
INFO/TestActivity2(11718): onResume
分享到:
相关推荐
ActivityGroup 多个activity页面返回 子activity menu设置
用ActivityGroup实现的activity栈,类似IOS的UINavigationController
ActivityGroup的用法,头部和底部为固定布局中间动态显示界面 并在中间布局实现手势滑动效果,自定义SlidingDrawer(抽屉)效果,在ActivityGroup里执行跳转等功能。至于在Android在ActivityGroup里执行跳转详细介绍 ...
使用ActivityGroup来切换Activity和Layout
ActivityGroup和GridView实现标签分页 ActivityGroup和GridView实现标签分页
Android开发—使用ActivityGroup来切换Activity和Layout.pdf
使用GridView+ActivityGroup实现的tab分页效果
NULL 博文链接:https://fanhongtao.iteye.com/blog/1430893
为ActivityGroup能往界面上不停的添加界面,这样就能实现界面的叠加效果,但是你叠加的时候就会发现,叠加上去的界面不会显示下面的选项卡, 而且你的返回键,也不好使。这个源码就是用到TabActivity内嵌ActivityGroup...
ActivityGroup
Android基于ActivityGroup项目框架,此框架和tabActivity不一样,每个tab下都可以建立多个Activity。
ActivityGroup之Activity内跳转和外跳转
一个详细讲解activitygroup类使用方法的工程。
android中tabhost和ActivityGroup的组合使用,特别是对多个Activity之间的跳转,压栈出战的管理,很有帮助。
NULL 博文链接:https://1002878825-qq-com.iteye.com/blog/1812628
安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip
ActivityGroup之activity内跳转和外跳转的源码
用ActivityGroup解决TabHost中多个Activity跳转问题 参见http://hkp2008.iteye.com/blog/1185482
ActivityGroupActivityGroupActivityGroupActivityGroupActivityGroupActivityGroupActivityGroupActivityGroupActivityGroup