• Canvas恢复布局


    package com.loaderman.customviewdemo;
    
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.util.AttributeSet;
    import android.util.Log;
    import android.view.View;
    
    
    public class RestoreToCountView extends View {
        private Paint mPaint;
        private String TAG = "loaderman";
        public RestoreToCountView(Context context, AttributeSet attrs) {
            super(context, attrs);
    
            mPaint = new Paint();
            mPaint.setColor(Color.RED);
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
    
            int id1 = canvas.save();
            canvas.clipRect(0,0,600,600);
            canvas.drawColor(Color.RED);
            Log.d(TAG, "count:" + canvas.getSaveCount() + "  id1:" + id1);
    
            int id2 = canvas.saveLayer(0,0,getWidth(),getHeight(),mPaint,Canvas.ALL_SAVE_FLAG);
            canvas.clipRect(100,100,500,500);
            canvas.drawColor(Color.GREEN);
            Log.d(TAG,"count:"+canvas.getSaveCount()+"  id2:"+id2);
    
            int id3 = canvas.saveLayerAlpha(0,0,getWidth(),getHeight(),0xf0,Canvas.ALL_SAVE_FLAG);
            canvas.clipRect(200,200,400,400);
            canvas.drawColor(Color.YELLOW);
            Log.d(TAG,"count:"+canvas.getSaveCount()+"  id3:"+id3);
    
            int id4 = canvas.save(Canvas.ALL_SAVE_FLAG);
            canvas.clipRect(250,250,350,350);
            canvas.drawColor(Color.BLUE);
            Log.d(TAG, "count:" + canvas.getSaveCount() + "  id4:" + id4);
    
    //
    //        canvas.restoreToCount(id3);
    //        canvas.drawColor(Color.GRAY);
    //        Log.d(TAG,"count:"+canvas.getSaveCount());
    
        }
    }

    效果:

  • 相关阅读:
    软件工程——第十次作业
    第33次Scrum会议(11/21)【欢迎来怼】
    软件工程——第九次作业
    第26次Scrum会议(11/14)【欢迎来怼】
    软件工程——第八次作业
    psp总结报告
    第十二周psp
    第十一周psp
    探路者团队-贪吃蛇(测评人:刘耀泽)
    “Hello World!”团队第六周第七次会议
  • 原文地址:https://www.cnblogs.com/loaderman/p/10219522.html
Copyright © 2020-2023  润新知