在Android布局上显示一个“帮助”覆盖层

8
我正在为Android开发一款游戏(Sky Hiking - Google Play, Github)。我想为游戏添加一个“帮助”选项,它会逐一介绍游戏组件,并用箭头指向它们,同时在文本框中说明它们的用途。我想知道如何最好地实现这个功能。我应该在游戏活动上显示一个巨大的(部分透明的)图像,其中包含箭头(我需要为每个游戏组件的箭头准备一个图像)吗? 编辑:还有一个问题是如何针对不同的屏幕尺寸进行操作。
这方面有什么最佳实践吗?
2个回答

6
以下是我的建议,虽然可能不是最佳解决方案,但无论屏幕大小如何都应该起作用:
循环执行以下操作,每个元素执行一次:
1.获取元素在屏幕上的当前位置。
2.绘制箭头,使其位置紧挨在元素旁边。您可以通过获取元素的X和Y坐标,并添加一定的空间来获得该位置。例如,如果元素位于10,10,则将箭头绘制在25,25。在决定绘制箭头的位置时,您还应该考虑元素的宽度。您还应该检查左侧或右侧哪一侧有更多的可用空间,并在其中一侧进行绘制。此外,如果元素靠近中间,则可以在一侧绘制箭头,在另一侧绘制文本。
3.绘制箭头后,您可以在屏幕的其他部分显示带有帮助内容的文本框。您可以将帮助内容存储在XML中,并为此元素显示适当的字符串。
4.为下一个元素准备删除箭头和文本框。

如果需要解释的元素位于屏幕右侧,则可能会出现问题,因此每次想要放置箭头和帮助文本时,您必须检查右侧还剩多少空间。 - banzai86

0
我建议您看一下PopupWindow。它可以显示任意的视图(您的指针和文本框),并且可以将其锚定到您选择的视图上(您正在解释的那个)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接