2012-10-04 87 views
3

我想快速介紹我的應用程序的新用戶。介紹將突出UI中的功能並解釋功能,類似於切片(請參閱下面的屏幕截圖)和Youtube應用程序。Android應用程序介紹與覆蓋

我想這涉及到整個屏幕的透明覆蓋,然後在屏幕上獲取視圖的位置,以便它可以在覆蓋圖中被圈出或突出顯示。我不知道如何去做使覆蓋的一部分不透明。有任何想法嗎?

enter image description here

+0

抱歉回答很快而沒有考慮它,但現在我編輯的答案應該做你需要的。 –

回答

1

只需添加一個新的視圖()和背景設置爲黑色,用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); 
1

要以最簡單的方式獲得想要的效果,您需要創建新資產並讓它們覆蓋不透明背景。這創造了效果的錯覺,而無需讓動態方式在所有設備上正常工作。

在圖層中打孔的動態方法涉及創建自定義視圖,覆蓋dispatchDraw方法並將自定義蒙版應用於畫布。對於衝在畫布孔洞,您的自定義噴漆的對象就這樣被創造:

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

兼容性不是很大這個,所以我建議你作假。