android:使用ActivityGroup来embedded活动

我在构build应用程序的概念化/devise阶段,我碰到了一些障碍。 基本上我正在寻找一种方法来embedded一个活动到另一个类似于如何一个TabHost / TabActivity的用户界面。 屏幕顶部会有一个窗口,其中包含其他活动,下面是一个与上述活动无关的button和控件,应始终可见。 用户将能够从窗口中的一个活动导航到另一个活动,而不会对下面的控件造成任何改变。

虽然看着我跑过ActivityGroup的问题,看起来像是有用的,但我将如何实现它? 任何人有与ActivityGroup的经验或有另一个想法?

是的,你会实现一个ActivityGroup,它将成为其他活动的容器。 当用户点击其中一个button时,您将获得对LocalActivityManager的引用,并使用它来启动并embedded内部活动。 像这样的东西:

LocalActivityManager mgr = getLocalActivityManager(); Intent i = new Intent(this, SomeActivity.class); Window w = mgr.startActivity("unique_per_activity_string", i); View wd = w != null ? w.getDecorView() : null; if(wd != null) { mSomeContainer.addView(wd); } 

请注意,使用这种方法可能会非常复杂,因为除非焦点恰到好处,否则按下硬件button(如菜单button)将只触发ActivityGroup上的事件,而不是内部的Activity。 在将内容添加到容器视图之后,您必须find某种方法来集中内部活动,在这种情况下,内部活动将会发生并传播到容器活动。

这是可以做到的,我已经做到了…而且很有效。 这只是比我认为应该更复杂一点。

无论如何,通过查看TabHost代码,我可以在这里find大部分信息

检查以下链接

http://ericharlow.blogspot.com/2010/09/experience-multiple-android-activities.html

它为我的解决scheme。 希望它会帮助你