我对以下代码有疑问:
protected void onDraw(Canvas canvas)
{
Paint paint = new Paint();
// Draw a blue circle
paint.setColor(Color.BLUE);
canvas.drawCircle(100, 100, 50, paint);
// Draw a red circle where it collides with the blue one
paint.setXfermode(new AvoidXfermode(Color.BLUE, 0, Mode.TARGET));
paint.setColor(Color.RED);
canvas.drawCircle(50, 50, 50, paint);
}
根据 AvoidXfermode 的 API 文档,容差值 0 表示它正在寻找精确的颜色匹配。这应该在这里起作用,因为我指定了与绘制第一个圆圈时使用的颜色相同的颜色。但结果是根本没有画红圈。当我使用 255 的公差值时,它会起作用(在与蓝色圆圈碰撞的地方绘制红色圆圈),但这听起来是错误的,因为我认为它应该在任何地方绘制圆圈。
那么这里有什么问题呢?API 文档?安卓?我?