ActivityGroup在一年前已经被说明不用了,但是腾讯QQ,新浪微博上也不乏ActivityGroup的身影。所以,即使是过时的东西,也有学习的必要,当然项目中也是可以添加的。在网上找了一个博客,不过还是想自己理解一下其中的因原。http://www.cnblogs.com/answer1991/archive/2012/05/08/2489844.html

mainactivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="0.0px" > <LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <LinearLayout
android:id="@+id/container"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:orientation="horizontal"
android:layout_weight="1.0" /> <RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:gravity="center_vertical"
android:orientation="horizontal" > <Button
android:id="@+id/radio_button0"
android:layout_marginTop="2.0dip"
android:drawableTop="@android:drawable/ic_menu_call"
android:text="按钮1" /> <Button
android:id="@+id/radio_button1"
android:layout_marginTop="2.0dip"
android:drawableTop="@android:drawable/ic_menu_camera"
android:text="按钮2" /> <Button
android:id="@+id/radio_button2"
android:layout_marginTop="2.0dip"
android:drawableTop="@android:drawable/ic_menu_agenda"
android:text="按钮3" /> <Button
android:id="@+id/radio_button3"
android:layout_marginTop="2.0dip"
android:drawableTop="@android:drawable/ic_menu_delete"
android:text="按钮4" /> <Button
android:id="@+id/radio_button4"
android:layout_marginTop="2.0dip"
android:drawableTop="@android:drawable/ic_menu_help"
android:text="按钮5" />
</RadioGroup>
</LinearLayout> </LinearLayout>

其实这个layout的结构挺简单的:

功能代码:

1.定义一个生成Activity的工厂

protected void setContainerView(String activityName,
Class<?> activityClassTye) {
localActivityManager = getLocalActivityManager();
viewgroup = getContainer();
viewgroup.removeAllViews();
Activity containerActivity = localActivityManager
.getActivity(activityName);
if (containerActivity == null) {
localActivityManager.startActivity(activityName, new Intent(this,
activityClassTye).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
}
viewgroup.addView(localActivityManager.getActivity(activityName)
.getWindow().getDecorView(), new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}

2.找到自定义id加在Activity的View

protected ViewGroup getContainer() {
return (ViewGroup) findViewById(R.id.container);
}

3.添加进入子Activity的intent事件

setContainerView(activity_id0, Activity0.class);//设置默认的activity显示

4.添加按钮事件就可以在主Activity中随意切换到子Activity中了。

效果图:

Android项目---ActivityGroup的使用的更多相关文章

  1. Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决

    在eclipse中导入android项目,项目正常没有任何错误,但是运行时候会报错,(clean什么的都没用了.....)如图: 百度大神大多说是jdk的问题,解决: 右键项目-Properties如 ...

  2. eclipse — 导入android项目后识别成java项目的问题及解决

    最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...

  3. 用Kotlin创建第一个Android项目(KAD 01)

    原文标题:Create your first Android project using Kotlin (KAD 01) 作者:Antonio Leiva 时间:Nov 21, 2016 原文链接:h ...

  4. Android之什么是Activity和常用的ADB命令以及Android项目结构的认识

    总结一下之前学习Android的一些内容 一:  Android常用的ADB命令(adb android调试桥)      1.adb devices   查看模拟器设备并重新连接. 2.adb ki ...

  5. eclipse将android项目生成apk并且给apk签名

    转载:http://www.cnblogs.com/tianguook/archive/2012/09/27/2705724.html 生成apk最懒惰的方法是:只要你运行过android项目,到工作 ...

  6. Android开发学习——Android项目的目录结构

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

  7. Android项目实战(二十五):Android studio 混淆+打包+验证是否成功

    前言: 单挑Android项目,最近即时通讯用到环信,集成sdk的时候 官方有一句 在 ProGuard 文件中加入以下 keep. -keep class com.hyphenate.** {*;} ...

  8. Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中

    前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...

  9. 初次尝试用Kotlin实现Android项目

    Kotlin: The Swift of Android 起这个文内标题的原因很简单,就是对Kotlin抱有希望--能使Android的开发更简洁.高效及安全.知道Kotlin是从简书的一篇短文,越来 ...

随机推荐

  1. 更多RANK37

    By LTL 经过对BDG长期的观察得出的这套理论,希望能对大家学习OI有所帮助. 入门篇 首先在掌握一门语言时(P,C都无所谓的),假设不习惯指针能够直接无视.语言之中对于入门选手来说最重要的递归. ...

  2. HTTP 长连接 使用场景

    offer 80 非常多应用譬如监控.即时通信.即时报价系统都须要将后台发生的变化实时传送到client而无须client不停地刷新.发送请求. 在 多好科技的那位技术指导问我这个是由于他们做物连网, ...

  3. 公布一个基于 Reactor 模式的 C++ 网络库

    公布一个基于 Reactor 模式的 C++ 网络库 陈硕 (giantchen_AT_gmail) Blog.csdn.net/Solstice 2010 Aug 30 本文主要介绍 muduo 网 ...

  4. Java在的时候,类定义HashSet初始化方法

    Java非常多的时间,应使用HashSet搜索功能,类的则定义,是HashSet类型的,我们定义数据成员之后,不好直接调用add函数来实现初始化,这个时候怎么办? 我们能够这样来做: public s ...

  5. [Unity3D]Unity3D游戏开发之Logo渐入渐出效果的实现

    ---------------------------------------------------------------------------------------------------- ...

  6. 简单的工具LogUtil、Toast

    简单的工具LogUtil.Toast     能够用了 import android.content.Context; import android.util.Log; import android. ...

  7. open-flash-chart2各种效果

    <pre class="html" name="code"><pre class="html" name="co ...

  8. cocos2d-x-2.2的SimpleAudioEngine::sharedEngine()-&gt;playEffect()计划中断bug

    在该计划已经正常,但现在突然发iphone播放声音上就挂了.播放音乐是没有问题的. android没问题. xcode给定的位置,如下面的附图: 网上搜了一下,说是有全局断点造成的.于是command ...

  9. ftp设置(2015-04-04)[转]

    anonymous_enable=YES /允许匿名访问 12行local_enable=YES /允许本地用户访问(/etc/passwd中的用户) 15行write_enable=YES /允许写 ...

  10. cocos2dx 3.1.1移植安卓apk (lua交叉编译器项目 mac环境)

    cocos2dx 3.1.1   lua项目安卓交叉编译 mac环境 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new t ...