SurfaceView基础用法详解 Android

Android,SurfaceView基础用法详解,博智网带你了解详细信息 。
Android 游戏开发框架核心组件

SurfaceView基础用法详解 Android

文章插图
SurfaceView基础用法详解 Android

文章插图
SurfaceView基础用法详解 Android

文章插图
SurfaceView 使用的步骤
  1. 获取到 SurfaceView 对应的 SurfaceHolder,给 SurfaceHolder 添加一个 SurfaceHolder.callback 对象 。
  2. 创建渲染线程对象
  3. 在子线程中开始在 Surface 上面绘制图形,因为SurfaceView没有对我们暴露 Surface,而只是暴露了 Surface 的包装器 SurfaceHolder,所以使用 SurfaceHolder 的 lockCanvas()获取 Surface 上面指定区域的 Canvas,在该 Canvas 上绘制图形,绘制结束后,使用 SurfaceHolder 的 unlockCanvasAndPost()方法解锁 Canvas,并且让 UI 线程把 Surface 上面的东西绘制到 View 的 Canvas 上面
SurfaceView 使用的 demo【SurfaceView基础用法详解 Android】public class GameUI extends SurfaceView implements SurfaceHolder.Callback {private SurfaceHolder holder;private RenderThread renderThread;private boolean isDraw = false;// 控制绘制的开关public GameUI(Context context) {super(context);holder = this.getHolder();holder.addCallback(this);renderThread = new RenderThread();}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}@Overridepublic void surfaceCreated(SurfaceHolder holder) {isDraw = true;renderThread.start();}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {isDraw = false;}/*** 绘制界面的线程** @author Administrator**/private class RenderThread extends Thread {@Overridepublic void run() {// 不停绘制界面while (isDraw) {drawUI();}super.run();}}/*** 界面绘制*/public void drawUI() {Canvas canvas = holder.lockCanvas();try {drawCanvas(canvas);} catch (Exception e) {e.printStackTrace();} finally {holder.unlockCanvasAndPost(canvas);}}private void drawCanvas(Canvas canvas) {// 在 canvas 上绘制需要的图形}}
到此这篇关于Android SurfaceView基础用法详解的文章就介绍到这了,更多相关Android SurfaceView基础内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!