2010-07-29 55 views
4

是否可以在当前活动之上添加活动。例如,让我说我点击一个按钮,然后它为当前活动添加第二个活动。而第二项活动只涵盖了我目前活动背后的一个小地方。Android ==>子活动?

回答

5

该活动只是显示一个窗口,所以你可以使用getWindow()来修改窗口参数是我们想要的 - 例如包装内容而不是填充父项。尽管对于不是全屏的活动,您应该先在清单中执行android:theme =“@ android:style/Theme.Dialog”。这本身将使活动看起来像一个对话框(对话框和屏幕上居中的内容)。您可以从那里进一步改进样式或布局参数。

也就是说,认识到设计是一次只运行一项活动很重要。所以当你展示这个新活动时,你当前的活动会暂停。 (它不会被停止,因为它在非全屏活动后仍然可见。)对于更多集成的内容,只需使基本活动创建一个对话框并按照相同的方式调整其窗口。关于使用哪一个的决定只是一个更适合你的设计的问题,尽管我认为Dialog在这里是一种更为常用的方法。

+1

谢谢,我还必须补充说,为了显示第二个活动的主要之一,我不得不使用startActivityForResult来显示活动。 谢谢你,很好的回答 顺便说一下,这对我来说很有效,因为我的第二个活动更像是一个菜单,而且我不需要能够与两个活动进行交互。第二项活动涵盖了主要活动,因此即使未暂停,也无法访问它。 – aryaxt 2010-08-02 17:31:35

1

我知道只有不知道全屏的活动的唯一方法是在TabActivity中并使活动成为对话框。虽然可能有其他人。我不确定你可以与两者互动。

0

我找到了一个完美的方式。 在manifest中,将主题改为Theme.Dialog,并用startActivityForResult调用活动,这样,根活动仍然存在,新活动将显示在它的顶部,并且它也具有一些很好的透明度。