Android应用程序介绍与叠加

时间:2012-10-04 15:08:27

标签: android user-interface

我想为新用户快速介绍我的应用。介绍将突出显示ui中的功能并解释功能,类似于切片(请参见下面的屏幕截图)和Youtube应用程序。

我想这涉及到整个屏幕的透明覆盖,然后在屏幕上获取视图的位置,以便可以在叠加层中圈出或突出显示。我不知道如何使叠加层的一部分不透明。有什么想法吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

只需添加一个新的View()并将背景设置为黑色,使用70%alpha。确保Fragment的Parent ViewGroup是Relativelayout,并调用bringChildToFront(MyHighlightedView)。

overlay=new View();
overlay.setBackgroundColor(#*BLACKWITHALPHAVALUE*);
getView().addView(overlay, new LayoutParams(MATCH_PARENT,MATCH_PARENT);
getView().bringChildToFront(overlay);
getView().bringChildToFront(MyHighlightedView);

答案 1 :(得分:1)

要以最简单的方式获得您想要的效果,您可能希望创建新资源并让它们覆盖您的不透明背景。这会产生效果的幻觉,而不会让动态的方法在所有设备上正常工作。

在图层中打孔的动态方法包括创建自定义视图,覆盖dispatchDraw方法并将自定义蒙版应用于画布。对于在画布上打孔,您的自定义绘制对象将按如下方式创建:

maskPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));

兼容性不是很好,所以我建议假装它。