`
yxwang0615
  • 浏览: 561308 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

LocalActivityManager如何在一个Activity的一部分中显示其他Activity

 
阅读更多

首先要使用该方法,页面必须继承ActivityGroup。

总的来说,实现“如何在一个Activity的一部分中显示其他Activity”除了LocalActivityManager还需要一个或多个"容器"Layout(或者和Layout同级别的View)。

 

假设这个容器是一个LinearLayout,id是container,通常来说我们会想把这个容器的layout_weight设置成1,以便把位置先占好。

 

然后实例化LocalActivityManager:

LocalActivityManager mgr = getLocalActivityManager();

然后

mContainer = (LinearLayout) findViewById(R.id.container);

最后就可以把MyOtherActivity塞进container里面了。

mContainer.addView((mgr.startActivity("MyOtherActivityInstance1", new Intent(this, MyOtherActivity.class))).getDecorView());

 

addView是往Layout里动态增加View,别处也会用到。mgr.startActivity比一般的startActivity多一个String id参数:

"public Window startActivity (String id, Intent intent)"

 

其实这个String id只是一个标识,自己随便起个不重样的名字就好了,作用就是系统看到id一样的activity时会把两个activity当作一个处理,不会弄出平行的两个来,反之亦然。

 

至于最后这个getDecorView()方法,我一开始觉得很神奇,查了很多地方,最后觉得其实也不是很复杂,就是把Activity里面所有的View,包括其摆放方式,都给调出来,这样在addView的时候就不用担心摆放等问题了。

 

转自:http://blog.sina.com.cn/s/blog_588508f801010g1r.html

分享到:
评论

相关推荐

    Android ActivtiyGroup和ViewFlipper实现Activity滑屏切换

    `ActivityGroup`是Android早期API(在API 13被弃用)中的一个类,它允许我们在一个单独的`TabHost`或`Activity`中嵌套多个`Activity`。`ActivityGroup`的主要目的是在一个父`Activity`中管理和展示多个子`Activity`...

    ActivityGroup Demo

    在Android应用开发中,`ActivityGroup`是一个较旧的概念,主要用在早期的Android版本(API级别较低)中,用于在一个TabHost或者自定义容器中管理多个Activity。`ActivityGroup`是`TabActivity`的一个子类,它允许...

    fragmentactivity+viewpager项目dome

    在Android开发中,`FragmentActivity`是Android Support Library(现在称为`androidx.appcompat.app.AppCompatActivity`)的一部分,它扩展了`Activity`类,为碎片(Fragment)的管理提供了更强大的支持。...

    Android Gallery+ActivityGroup实现滑动TAB独立Activity

    在Android应用开发中,创建一个用户友好的界面是至关重要的,而Tab切换功能则是许多应用程序的标准组成部分,它允许用户在不同的视图之间轻松导航。"Android Gallery+ActivityGroup实现滑动TAB独立Activity"是一个...

    Android TabHost内嵌ActivityGroup界面管理源码.rar

    TabHost提供了一种在多个Activity之间切换的机制,而ActivityGroup则允许在一个Activity内部嵌套其他Activity,从而实现类似框架的效果。这份源码资源可能是用来演示如何将这两者结合使用,创建一个复杂的界面管理...

    主界面tabhost+activitygroup框架

    - `ActivityGroup`是`Activity`的一个子类,主要用于在一个`Activity`中管理多个子`Activity`。在多 tab 界面中,每个标签可能对应一个子`Activity`,而`ActivityGroup`可以帮助你在同一父`Activity`内管理这些子`...

    Android源码——TabHost内嵌ActivityGroup界面管理源码_new_17.zip

    它允许开发者在一个Activity中展示多个小部件或者多个Activity,每个被展示的部分称为一个“tab”。TabHost通常包含两个主要部分:TabWidget和FrameLayout。TabWidget显示了各个tab的标签,而FrameLayout则用于显示...

    tabhost_demo

    - 在ActivityGroup中,可以通过LocalActivityManager的`finishActivity()`方法手动管理回退栈,当用户点击后退键时,关闭当前Activity并显示前一个。 - 另一种方式是使用`onKeyDown()`方法监听BACK键事件,根据...

    tabhost和ActivityGroup的组合使用

    在早期的Android版本中,ActivityGroup用于在一个Tab内管理多个Activity的堆栈。它的主要作用是在不离开TabHost的情况下,实现内部Activity的切换和堆栈管理。然而,从Android 3.0(API级别11)开始,ActivityGroup...

    TabActivity中的Tab标签详细设置

    它是Activity的子类,允许在一个Activity中嵌套其他的Activity。每个标签下的页面实际上是在同一个ActivityGroup中启动的不同Activity,通过LocalActivityManager管理这些内部Activity的生命周期。 5. **...

    android activitygroup demo

    在Android开发中,ActivityGroup是一个老概念,它属于早期Android版本(2.2及更低)中的TabHost实现的一部分,用于在一个Tab内管理多个Activity。尽管在Android 3.0(API级别11)之后,ActivityGroup被废弃,...

    NewActivityGroup 最新的菜单了 你懂的完美

    `ActivityGroup`的主要功能是允许在一个Activity中嵌套其他Activity,这在当时为开发者提供了一种实现类似TabHost或侧滑菜单等复杂布局的方式。它通过重写`onStartActivityForResult()`、`onResumeActivity()`等方法...

    android 类似于ios中的tablebar

    iOS中的TableBar是其原生导航模式的一部分,而在Android中,我们可以使用多种方式来实现类似的效果。下面将详细介绍如何在Android中创建一个与iOS TableBar相似的导航组件。 首先,我们要理解Android中的TabHost和...

    安卓Android源码——TabHost内嵌ActivityGroup界面管理源码.zip

    LocalActivityManager允许在内部启动Activity,并返回一个可以用来操作(如显示或隐藏)这个Activity的Window对象。 4. **界面切换**:源码中可能包含了处理TabHost点击事件的代码,当用户点击某个标签时,会触发...

    ActivityGroup例子

    7. **Fragment和ActivityGroup的区别**:Fragment可以看作是Activity的一部分,可以在一个Activity中添加、移除或替换多个Fragment,而ActivityGroup中的子Activity则是完全独立的Activity。Fragment提供了更灵活的...

    Android TabHost内嵌ActivityGroup界面管理源码-IT计算机-毕业设计.zip

    它允许开发者在一个Activity中展示多个小的Activity或者View,并通过标签页切换。TabHost由两部分组成:TabWidget(标签栏)和FrameLayout(内容区域)。开发者可以通过`TabSpec`对象来定义每个标签页的内容和行为,...

    ActivityGroup

    在Android开发中,`ActivityGroup`是早期API Level 11之前的一个组件,它允许开发者在同一个`TabHost`或`FrameLayout`中嵌套多个`Activity`,从而实现类似多级导航的效果。这个概念与现代Android开发中的Fragment...

Global site tag (gtag.js) - Google Analytics