2011-08-29 162 views
0

我有這樣的形象,從一個API,它代表了用戶頭像回來:自定義圖片查看

user avatar

然而,我的圖形部門已經設計了應用程序來掩蓋圖像,使其看起來像這在運行時(以匹配我們現有的銳利邊緣設計等):

enter image description here

注意左下角的小邊缺口?

我很想能夠創建處理這對我來說是定製的ImageView。不幸的是,我不知道該怎麼做。如何在自定義ImageView中創建底部圖像。這可能嗎?我掩飾它嗎?如果是這樣,怎麼樣?

謝謝!

回答

0

使用路徑和XFER模式在畫布上畫可以做到這一點。檢查這個答案how to draw pic to Closed curve area

+0

這基本上是我終於實現了。但我從埃裏克·伯克(廣場),從他的SF Android的一些隊列在這裏說:http://www.youtube.com/watch?v=jF6Ad4GYjRU –

0

我認爲做的最簡單的方法是用2個ImageViews,一個與照片和其他它上面的照片中的面具,在你的情況下,這將是全透明的,除了左下角創建具有切口背景顏色。

0

您可以使用android.graphics.Path畫出你想要的形狀複雜。我發現這一個簡單的自定義視圖非常有幫助的,但好像你可以做很多與它:一個陰影矩形 http://developer.android.com/reference/android/graphics/Path.html

簡單的代碼示例:

private Path mRectanglePath; 
... 
// draw the path 
mRectanglePath = new Path(); 
mRectanglePath.addRect(mLeft, mTop, mRight, mBottom, Path.Direction.CW); 

// draw the fill 
Paint paint = new Paint(); 
paint.setColor(Color.RED); 
paint.setAlpha(64); 
canvas.drawPath(mRectanglePath, paint);