zoukankan      html  css  js  c++  java
  • 绘制surfaceView 基础类

    public class SurfaceViewTempalte extends SurfaceView implements Callback, Runnable  {
    	
    	private SurfaceHolder mHolder; 
    	private Canvas mCanvas;
    	
    	// 线程
    	Thread t;
    	
    	// 线程开关
    	private boolean isRunning;
    	
    	
    	public SurfaceViewTempalte(Context context) {
    		this(context, null);
    	}
    	public SurfaceViewTempalte(Context context, AttributeSet attrs) {
    		super(context, attrs, 0);
    		
    		mHolder = getHolder();
    		mHolder.addCallback(this);
    		
    		//设置可获得焦点
    		setFocusable(true);
    		setFocusableInTouchMode(true);
    		
    		//设置常亮
    		setKeepScreenOn(true);
    		
    	}
    	@Override
    	public void surfaceCreated(SurfaceHolder holder) {
    		isRunning = true;
    		t = new Thread(this);
    		t.start();
    	}
    	@Override
    	public void surfaceChanged(SurfaceHolder holder, int format, int width,
    			int height) {
    		
    	}
    	@Override
    	public void surfaceDestroyed(SurfaceHolder holder) {
    		isRunning = false;
    	}
    	@Override
    	public void run() {
    		//不断进行绘制
    		while(isRunning) {
    			draw();
    		}
    	}
    
    	private void draw() {
    		//try防止back无释放
    		try {
    			mCanvas = mHolder.lockCanvas();
    			if(mCanvas != null) {
    				//绘制
    				
    			}
    		} catch (Exception e) {
    		}
    		finally {
    			//释放mCanvas
    			if(mCanvas != null) {
    				mHolder.unlockCanvasAndPost(mCanvas);
    			}
    		}
    	}
    
    }
    

      

  • 相关阅读:
    BZOJ1000 A+B Problem
    网络最大流
    树形结构
    BZOJ2521 最小生成树 最小割
    HDU5266 LCA 树链剖分LCA 线段树
    BZOJ3991 寻宝游戏 LCA 虚树 SET
    深度优先搜索DFS
    斯特林数
    Noip2017 普及 T3 Chess
    键盘自动机
  • 原文地址:https://www.cnblogs.com/zyandroid/p/5014127.html
Copyright © 2011-2022 走看看