在当前应用程序的顶部显示其他内置应用程序(显示叠加层)

时间:2013-03-10 03:29:10

标签: android

我正在开发一款应用,它会与用户互动。 我在Google Play上找到了一款名为“助理”的应用。当我说“谷歌地图”它加载谷歌地图(内置应用程序)并显示在当前应用程序(助手)的顶部,类似我说“facebook.com”它加载网页“facebook.com”,我仍然与“助理”太棒了!

Google Play上的助理:

https://play.google.com/store/apps/details?id=com.speaktoit.assistant&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5zcGVha3RvaXQuYXNzaXN0YW50Il0

我的问题:

  1. 如何显示?

  2. 任何示例代码或教程?

  3. 我找到了这个链接,它与我的问题类似:

    Overlay an activity on another activity OR overlay a view over another

    How would I display one view as an overlay of another?

    先谢谢。

    详见我的照片。 http://imgur.com/NiJJoLk

1 个答案:

答案 0 :(得分:0)

首先,我认为它是嵌入式而非另一项活动中的活动。 here是在应用中嵌入谷歌地图的教程。这很直截了当。您可以在活动中放置任何内容。使用谷歌API也非常有帮助。关于使用语音命令或从口头命令中获取结果,我会检查this。这将解释如何实现语音命令,然后您可以启动为该特定命令执行的活动。一旦你知道从哪里开始,当你点击speedbumps让社区知道,并且可以回答更直接的编码问题。我希望这有助于让你朝着正确的方向前进:)

评论问题:

  谢谢Mark.Could你能给我一些细节,如何将活动嵌入其他?你的链接没有提到这一点。感谢

首先,你必须了解android是基于视图和活动的。我觉得最好为每个页面都有一个活动。因此,例如,如果用户按下按钮A,则您想要开始新活动。可以从头开始设置下一个活动,以处理您想要的任务。所以说按钮A是地图视图页面。您可以按照指南使用mapview设置页面。现在打电话给一个新的活动,按下按钮,你将以下作为指南:

Intent back2MainScreen = new Intent(getApplicationContext(), MainScreen.class);
back2MainScreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(back2MainScreen);

现在上面的代码MainScreen.class是您的源代码中的java活动。国旗只是标准,应该包括在内。然后startActivity开始下一个活动。你将Intent传递给它。您可以将包添加到Itent,这将允许您通过活动传输数据。假设用户输入了一个邮政编码,并且您想要放大地图上的该区域,那么您将要将邮政编码传递给下一个活动,以便谷歌地图可以显示正确的区域。

这解释了从一个活动到下一个活动。 Android类似于放在一起的一大堆页面。您可以更改活动中的页面,但我喜欢使用后退按钮。因为我没有很多页面(少于15个),所以我最好为不同的任务设置不同的页面。此外,您可以拥有多个不同的视图,并在用户点击按钮之前将其INVISIBLEGONE。我不建议,特别是如果你刚开始使用android。它会让你感到困惑。