设置自定义形状和png图像的背景

时间:2012-01-03 18:44:40

标签: android view background drawable

我有一个view我想要设置一个drawable图片非常简单。图像设置正确但角落是方形的。如果我尝试在shape中使用attribute xml drawable使角落变圆,那么角落是圆的,但我找不到将图像background设置为背景的方法view的属性用于设置角落的xml drawable

有没有办法让background作为图像和圆角。我知道使用圆角图像的解决方案,但我不想打扰图形团队解决这些小问题,我希望有一个通用的解决方案。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

覆盖视图的dispatchDraw方法(或onDraw,以防它不是视图层次结构)

private final Path mClipPath;
.......
mClipPath = new Path();
mClipPath.addRoundRect(new RectF(x,y,z,t),radius,radius,Direction.CW);
........
@Override
protected void dispatchDraw(final Canvas canvas){
    canvas.clipPath(mClipPath); // clip the canvas so that we can draw only in the boundaries specified by mClipPath
    super.dispatchDraw(canvas); //now draw the view on the clipped canvas
    .....  //do other drawing
}