在一个屏幕上显示多个活动?

时间:2010-09-30 18:58:34

标签: android android-activity android-intent

我有一个有趣的问题,我正在寻找解决方案;希望有人可以帮助我。

(我确实阅读了有关此主题的相关问题,但他们的解决方案与我的情况无关)。

详情如下:

我有两项活动。一个是列出可用音轨的简单列表视图。另一种是复杂的音频工具栏,其中包含播放/暂停,ffd和重新播放当前播放音频的控件。

音频工具栏使用包装Android MediaPlayer对象的包装类,此包装类是单例对象。这意味着我最终希望在我的应用程序中的任何位置使用音频工具栏并控制我的MediaPlayer包装器的单例实例。

出于这个原因,我不能将音频工具栏和音频列表视图放在同一个活动中,因为我希望工具栏完全是一个单独的实体,只要用户想要控制音乐就会弹出,而不必看到列表视图

现在,由于用户可以从应用程序的任何位置弹出工具栏,我很想知道将当前活动和工具栏活动组合到一个屏幕的方法。

我知道我可以使用的一个选项是对话框。我正在寻找一个更优雅的解决方案,我可以在用户所在的屏幕底部弹出音频工具栏,而无需退出他当前正在进行的活动。

有人知道这样做的方法吗?我在文档中没有遇到任何相关内容,但如果有人知道,即使指向正确的文档也会非常有用:)

谢谢!

2 个答案:

答案 0 :(得分:1)

您想要实施ActivityGroup。要嵌入活动,您可以使用LocalActivityManager启动每个活动,并获取活动视图并将其嵌入到ActivityGroup显示的布局/容器中。

答案 1 :(得分:1)

  

另一个是复杂的音频工具栏,其中包含播放/暂停,ffd和重新播放当前播放音频的控件。

工具栏不应该是活动。它应该是一个小部件。

  

因此,我无法在同一活动中使用音频工具栏和音频列表视图

当然,你可以把它变成一个小部件。

  

现在,由于用户可以从应用程序的任何位置弹出工具栏,我很想知道将当前活动和工具栏活动组合到一个屏幕的方法。

步骤1:将“工具栏活动”转换为小部件

步骤2:将小部件放入活动的布局

  

我正在寻找一个更优雅的解决方案,我可以在用户所在的屏幕底部弹出音频工具栏,而不会退出他当前正在进行的活动。

步骤1:将“工具栏活动”转换为小部件。

步骤2:将小部件放入活动的布局中,特别是在RelativeLayout中,工具栏固定在RelativeLayout的底部,最初设置为{{1}的可见性}。

步骤3:根据您将要使用的触发器,根据需要使用GONE显示和隐藏窗口小部件。

See here for a sample application展示了这种技术。