ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android 自定义View Clip

2019-09-16 18:38:23  阅读:524  来源: 互联网

标签:200 canvas 自定义 Clip 300 RectF mPaint Android 500


先画俩矩形


        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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有