android view clip,Android 自定义View Clip
先畫倆矩形
RectF rectF = new RectF(0,0,300,300);
canvas.drawRect(rectF,mPaint);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(400,400,600,600);
canvas.drawRect(rectF2,mPaint);
把他倆重在一起? 看看
然后 說是 有講究
canvas.clipRect(0, 0, 300, 300);
// canvas.clipRect(200, 200, 500, 500, Region.Op.DIFFERENCE);
RectF rectF = new RectF(0,0,300,300);
canvas.drawRect(rectF,mPaint);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(200,200,500,500);
canvas.drawRect(rectF2,mPaint);
canvas.clipRect(0, 0, 300, 300);
canvas.clipRect(200, 200, 500, 500, Region.Op.DIFFERENCE);
RectF rectF = new RectF(0,0,300,300);
canvas.drawRect(rectF,mPaint);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(200,200,500,500);
canvas.drawRect(rectF2,mPaint);
第二個
canvas.clipRect(0, 0, 300, 300);
canvas.clipRect(200, 200, 500, 500, Region.Op.INTERSECT);
RectF rectF = new RectF(0,0,300,300);
canvas.drawRect(rectF,mPaint);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(200,200,500,500);
canvas.drawRect(rectF2,mPaint);
canvas.clipRect(0, 0, 300, 300, Region.Op.DIFFERENCE);
canvas.clipRect(200, 200, 500, 500);
RectF rectF = new RectF(0, 0, 300, 300);
canvas.drawRect(rectF, mPaint);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(200, 200, 500, 500);
canvas.drawRect(rectF2, mPaint);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
canvas.clipPath(path);
} else {
canvas.clipPath(path, Region.Op.XOR);// REPLACE、UNION 等類型
}
canvas.clipRect(200, 200, 500, 500, Region.Op.INTERSECT);
RectF rectF = new RectF(0, 0, 300, 300);
canvas.drawRect(rectF, mPaint);
canvas.clipRect(0, 0, 300, 300, Region.Op.DIFFERENCE);
mPaint.setColor(Color.GREEN);
RectF rectF2 = new RectF(200, 200, 500, 500);
canvas.drawRect(rectF2, mPaint);
標簽:200,canvas,自定義,Clip,300,RectF,mPaint,Android,500
來源: https://blog.csdn.net/FlyPig_Vip/article/details/100894973
總結
以上是生活随笔為你收集整理的android view clip,Android 自定义View Clip的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 某挡土墙墙高H=4m,墙背垂直光滑,
- 下一篇: android circleimagev