2011-08-29 105 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);