0

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

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

我不能简单地先绘制矩形,然后在这种情况下编写文本。

我读过有关 XFermode 的信息,但我不知道如何使用它...

4

1 回答 1

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.

于 2015-08-18T12:40:48.580 回答