我只需要在尚未绘制的区域上绘制一个矩形。
例如,当我调用 drawText 写一些东西,然后在它上面绘制 Rect 时,它应该在文本后面。
我不能简单地先绘制矩形,然后在这种情况下编写文本。
我读过有关 XFermode 的信息,但我不知道如何使用它...
您可以设置您的绘画对象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
.