SurfaceView模版
来源:互联网 发布:淘宝网游交易平台 编辑:程序博客网 时间:2024/05/15 23:52
public class SurfaceViewDemo extends SurfaceView implements Runnable,SurfaceHolder.Callback{//需要三个成员变量SurfaceHolder mHolder;Canvas mCanvas;boolean isDrawing;//需要实现三个构造器public SurfaceViewDemo(Context context) { super(context); init();}public SurfaceViewDemo(Context context, AttributeSet attrs) { super(context, attrs); init();}public SurfaceViewDemo(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init();}//初始化public void init() { mHolder=getHolder(); mHolder.addCallback(this); setFocusable(true); setFocusableInTouchMode(true);//为true,该视图可以获取触摸事件 this.setKeepScreenOn(true);//保持屏幕打开}//Holder@Overridepublic void surfaceCreated(SurfaceHolder holder) { isDrawing=true;//在surfaceCreated中设置isDrawing为真 new Thread(this).start(); Log.v("meee","开始");}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) { isDrawing=false;//关闭绘制标志位 Log.v("meee","结束");}//Runnable//在这里进行性能优化,通常取值为50-100,这里取的是100@Overridepublic void run() { while(isDrawing){ long startTime =System.currentTimeMillis(); Log.v("meee","startTime"+startTime); draw(); long endTime =System.currentTimeMillis(); Log.v("meee","endTime"+endTime); if ((endTime-startTime)<100){ try { Thread.sleep(100-(endTime-startTime)); Log.v("meee","睡眠:"+(100-(endTime-startTime))); } catch (InterruptedException e) { } } }}//绘图public void draw(){ try { mCanvas=mHolder.lockCanvas();//通过mholder.lockCanvas()来获取canvas对象 }catch (Exception e){ }finally { mHolder.unlockCanvasAndPost(mCanvas);//需要在finally中通过Holder.unlockCanvasAndPost(Canvas)解除canvas锁 }}}
阅读全文
0 0
- SurfaceView模版
- SurfaceView简单模版
- SurfaceView--扩展SurfaceView的基础模版代码
- surfaceview
- SurfaceView
- surfaceview
- surfaceview
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- SurfaceView
- surfaceview
- SurfaceView
- SurfaceView
- SurfaceView
- 最近的一些感受
- haproxy
- Android将Bitmap类型转化为file类型
- C 语言实现多态和继承
- [POJ]2774 最长公共子串
- SurfaceView模版
- Hibernate中的order by子句
- Tensorflow学习——猫狗大战
- 一起Talk Android吧(第三十一回:Android中的Activity三)
- Hibernate中的where子句
- 大家好,我决定进入it这个领域
- android 按键速度控制
- NYOJ 47 过河问题
- Fine-tuning 深度学习操作指南