zoukankan      html  css  js  c++  java
  • 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());
    
        }
    }

    效果:

  • 相关阅读:
    Hystrix解析(三)
    Hystrix解析(二)
    在阿里云开发平台编写第一个 HelloWorld 程序
    Jenkins与Docker的自动化CI/CD实战
    网页计数器例子
    ServletContext 对象
    Session
    Cookie
    Request 对象作用域
    转发,重定向(包括请求中文乱码解决)
  • 原文地址:https://www.cnblogs.com/loaderman/p/10219522.html
Copyright © 2011-2022 走看看