我想快速介紹我的應用程序的新用戶。介紹將突出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));
兼容性不是很大這個,所以我建議你作假。
抱歉回答很快而沒有考慮它,但現在我編輯的答案應該做你需要的。 –