小弹出指示,如foursquare

时间:2011-08-13 16:59:26

标签: android layout popup foursquare instructions

在看到新foursquare应用程序的最后截图和他们的气球之类的卡通说明后,我想在我的应用程序中创建其中的一些。

我在iPhone上发现了一个类似的问题 Small popup for instructions... How?

这是foursquare app的另一个截图: enter image description here

我想知道如何通过Android实现这一目标。

提前感谢您的帮助。

更新:这是我到目前为止所能获得的,但添加了一些带有自定义绘制背景的按钮,并使用FrameLayout对它们进行分层:

enter image description here

但我仍然无法获得三角效果。也许我的自定义背景形状可以做些什么?

UPDATE2

在检查了你的建议之后,我决定采用Aaron C的想法并添加一个带箭头的图像。这是我目前的结果:

enter image description here

谢谢Snailer,QuickAction API项目似乎非常有希望。在我的应用程序中实现更多功能时,我会检查它。

现在,我只需要获得正确的颜色,或者我可以这样做。看起来也不错。

然后,总结一下我的所作所为:

  1. 在FrameView中获得了我的初始xml布局。
  2. 当我使用框架视图时,我放在这里的所有内容都会堆叠在一起。这就是我可以在布局中添加内容的方式。

  3. 在那个framelayout中,我放了2个相对布局,带有三角形的图像和一个按钮来创建两个上部弹出窗口。在底部我只放了一个按钮。

  4. 就是这样。我希望它对某人有所帮助。

  5. 再次感谢你的帮助!

3 个答案:

答案 0 :(得分:2)

这听起来像是一件巧妙的事情。 AlertDialog上可能有一个内置的Android变体可以实现这一点,但如果没有,我将如何实现它:

创建一个新的Activity,其背景为黑色,具有非常高(低?)的alpha颜色值。这将允许您通过它查看堆栈中的上一个Activity。然后,使用带有填充值的相对布局,在您喜欢的任何坐标处添加警报。

如果用户触摸气球(或者可能是屏幕中的任何位置),您可能还想添加退出活动的触摸侦听器。

如果您希望对气球的坐标放置感到满意,可以使用Activity的启动Intent和putExtra()方法将此信息传递到新的Activity中。

答案 1 :(得分:0)

这可能是通过涂抹吐司来实现的。

开发者文档在http://developer.android.com/guide/topics/ui/notifiers/toasts.html

中的“创建自定义Toast视图”中显示了蒙皮吐司

答案 2 :(得分:0)

您可能需要查看QuickAction API。它通过使用PopupWindow,蒙皮,定位和动画来实现这一点。