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());
    
        }
    }

    效果:

  • 相关阅读:
    ajax
    文件下载--getOutputStream输出二进制字符
    文件上传功能实现代码
    java动态生成验证码
    项目中用到的jar包简介(2)
    python字符串的常见操作
    python切片使用方法(超详细)
    for循环结合range使用方法
    python使用while循环实现九九乘法表
    石家庄云修科技有限公司
  • 原文地址:https://www.cnblogs.com/loaderman/p/10219522.html
Copyright © 2011-2022 走看看