有没有办法为画布中绘制的矩形设置背景图像? 例如,我有以下onDraw方法:
protected void onDraw(Canvas canvas) {
this.setBackgroundGradient();
RectF rect = new RectF();
rect.set(0, 0, canvas.getWidth(), 50);
canvas.drawRoundRect(rect, 0, 0, this.paint);
}
private void setBackgroundGradient()
{
this.paint.setShader(new LinearGradient(0, 0,0, getHeight(), 0xff919191, 0xff424242, Shader.TileMode.MIRROR));
}
我想用背景图像更改渐变(如果可能,可重复)。
注意:我宁愿保留矩形而不使用drawBitmap。
答案 0 :(得分:1)
Rect不是drawable,它是一个便利类,只保存定义rect的四个值。 Canvas知道如何用你给它的Paint对象绘制一个rect。 如果你想要一个背景(图像)而不是一个矩形,那么你要么在画布上使用drawBitmap,要么有一个(位图)drawable,你在绘制时将画布传递给它。