Android - Canvas Paint - 仅绘制白色/透明

时间:2015-08-18 12:21:58

标签: android canvas paint xfermode

我只需要在尚未绘制的区域上绘制一个矩形。

例如,当我调用drawText来写东西,然后在它上面绘制Rect时,它应该在文本后面。

我不能简单地先绘制Rect,然后在这种情况下编写Text。

我读过XFermode,但我不知道,如何使用它......

1 个答案:

答案 0 :(得分:1)

您可以将绘图对象设置为使用PorterDuffXfermode和混合模式Mode.MULTIPLY

import android.graphics.PorterDuffXfermode;
import android.graphics.PorterDuff.Mode;

private void setupPaint(Paint paint) {
    paint.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY));
}

private void clearXfermode(Paint paint) {
    paint.setXfermode(null);
}

在我看来,性能首先绘制矩形然后绘制文本,但如果不可能,则使用PorterDuffXfermode