我想创建帮助覆盖,就像你第一次加载ICS时看到的,或者在ES文件资源管理器或Apex Launcher这样的应用程序中(还有更多,但我现在想不起来)。这仅仅是一个视图叠加在另一个视图之上的相对布局吗?我还没能找到做这件事的任何示例代码。有人知道这是怎么做的吗,或者有什么想法?
发布于 2012-04-19 03:59:34
假设您通常会调用setContentView(R.layout.main)
,但在第一次运行时,您希望使用此覆盖。
步骤1:用Java代码创建一个FrameLayout
并将其传递给setContentView()
。
第2步:使用LayoutInflater
将R.layout.main
扩展到FrameLayout
中。
步骤3:使用LayoutInflater
将覆盖图膨胀到FrameLayout
中。
步骤4:当用户点击按钮(或其他按钮)取消覆盖时,调用removeView()
从FrameLayout
中删除覆盖。
由于overlay是FrameLayout
的较新子级,因此它将浮动在R.layout.main
的内容之上。
发布于 2012-04-19 03:59:01
你可以很快做到这一点。例如,您添加了一个LinearLayout,其中您放置了一张带有alpha的图片,该图片对应于您的帮助信息以及您想要绘制的覆盖图。在活动的可扩展标记语言中,您将此布局放在活动布局之后的RelativeLayout中,该布局的可见性已消失。当您想要绘制帮助信息时,只需将此可见性设置为visible即可。
我希望,我很清楚,如果你有任何问题,我很乐意回答他们。
https://stackoverflow.com/questions/10216937
复制相似问题