我有一个view
我想要设置一个drawable
图片非常简单。图像设置正确但角落是方形的。如果我尝试在shape
中使用attribute
xml drawable
使角落变圆,那么角落是圆的,但我找不到将图像background
设置为背景的方法view
的属性用于设置角落的xml drawable
。
有没有办法让background
作为图像和圆角。我知道使用圆角图像的解决方案,但我不想打扰图形团队解决这些小问题,我希望有一个通用的解决方案。
非常感谢你的帮助。
答案 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
}