我想快速介绍我的应用程序的新用户。介绍将突出UI中的功能并解释功能,类似于切片(请参阅下面的屏幕截图)和Youtube应用程序。Android应用程序介绍与覆盖
我想这涉及到整个屏幕的透明覆盖,然后在屏幕上获取视图的位置,以便它可以在覆盖图中被圈出或突出显示。我不知道如何去做使覆盖的一部分不透明。有任何想法吗?
我想快速介绍我的应用程序的新用户。介绍将突出UI中的功能并解释功能,类似于切片(请参阅下面的屏幕截图)和Youtube应用程序。Android应用程序介绍与覆盖
我想这涉及到整个屏幕的透明覆盖,然后在屏幕上获取视图的位置,以便它可以在覆盖图中被圈出或突出显示。我不知道如何去做使覆盖的一部分不透明。有任何想法吗?
只需添加一个新的视图()和背景设置为黑色,用70%的α。确保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);
要以最简单的方式获得想要的效果,您需要创建新资产并让它们覆盖不透明背景。这创造了效果的错觉,而无需让动态方式在所有设备上正常工作。
在图层中打孔的动态方法涉及创建自定义视图,覆盖dispatchDraw方法并将自定义蒙版应用于画布。对于冲在画布孔洞,您的自定义喷漆的对象就这样被创造:
maskPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_IN));
兼容性不是很大这个,所以我建议你作假。
抱歉回答很快而没有考虑它,但现在我编辑的答案应该做你需要的。 –