SurfaceView的概念和优点及使用
来源:互联网 发布:工期优化步骤 编辑:程序博客网 时间:2024/05/29 17:08
一、概念:
SurfaceView本身是一个View,符合一切View的特性,需要通过Canvas画布绘制。
二、优点:
可以在另一个线程中更新界面
不会阻碍界面的交互
三、View和SurfaceView的区别
基于View的绘图效率不高,主要用于动画变化较少的程序
SurfaceView 绘图效率较高,用于界面更新频繁的程序,如相机预览。
SurfaceView 可以在另一个线程中更新界面。
四、SurfaceView 使用方式:
1.布局中放入SurfaceView
2.实现SurfaceHolder.Callback
3.绘制画布更新画布到SurfaceView(本例是在主线程中更新,可以另起一个线程更新)
通过lockCanvas()将返回绘制的canvas
绘制的过程中,对canvas的绘制不会立刻反应在界面上,直到执行unlockCanvasAndPost()提交刚才修改的界面
SurfaceView surfaceView=(SurfaceView)findViewById(R.id.surfaceview); SurfaceHolder surfaceHolder=(SurfaceHolder) surfaceView.getHolder(); surfaceHolder.addCallback(new SurfaceHolder.Callback() {@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// TODO Auto-generated method stub}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// TODO Auto-generated method stub/** * 获得canvas的大小并锁定canvas */Canvas canvas=holder.lockCanvas();Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);canvas.drawBitmap(bitmap, 50, 50,new Paint());/** * 提交更新canvas */holder.unlockCanvasAndPost(canvas);}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}});
阅读全文
1 0
- SurfaceView的概念和优点及使用
- SurfaceView优点及使用方法
- VPN的概念及优点
- 泛型的概念及优点
- 使用对象聚合和组合的优点及隐患
- Surface和SurfaceView以及SurfaceHolder的认识及使用
- 数据库-视图(概念、优点、使用规则和限制、视图和基本表的区别)
- 哈希表的使用和优点
- SurfaceView的介绍和使用
- surfaceview的详解和使用
- const的用法及使用的优点
- @字面量语法的使用及优点
- 函数对象的优点及使用
- cocoapods的优点、安装及使用
- EventBus使用及优点
- surfaceview 和surfaceholder的理解和使用
- 使用感想:VS2005的优点和缺点
- 使用C++模板的优点和缺点
- Watto and Mechanism CodeForces
- ubuntu16.04和win10安装anaconda以及path配置
- Nodejs-npm包之http-server和json-server
- 《JS高级程序设计》第6章读书笔记:创建对象(一)之工场模式和构造函数模式
- 成为JavaGC专家(2)—如何监控Java垃圾回收机制
- SurfaceView的概念和优点及使用
- 小小粉丝度度熊--尺取法、合并一些重复的区间。
- Android.mk简单分析
- Go指南练习之《斐波纳契闭包》
- Maven+Spring构建Demo
- HBase开启Snappy压缩
- Session&Cookie&token
- 【HDU】 2063 过山车
- 普通蔬菜辨营养