android 学习: SurfaceView
来源:互联网 发布:mysql update 走索引 编辑:程序博客网 时间:2024/06/05 17:09
1. SurfaceView
package com.example.test;import java.util.Random;import android.content.Context; import android.graphics.Canvas;import android.view.SurfaceHolder;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;/** * * @author Luv * */public class MySurfaceView extends SurfaceView implements Callback, Runnable { private SurfaceHolder sHolder; private Canvas canvas; private int widthScreen, heightScreen; private Thread thread; private boolean flag; public MySurfaceView(Context context) { super(context); sHolder = getHolder(); sHolder.addCallback(this); } public void draw() { try { canvas = sHolder.lockCanvas(); //draw something Random r = new Random(); canvas.drawRGB(r.nextInt(256), r.nextInt(256), r.nextInt(256)); } catch (Exception e) { e.printStackTrace(); } finally { if (canvas != null) { sHolder.unlockCanvasAndPost(canvas); } } } @Override public void run() { while (flag) { long start = System.currentTimeMillis(); //do something...or draw() draw(); long end = System.currentTimeMillis(); long sleep = 50 - end + start; try { if (sleep>0) { Thread.sleep(sleep); } } catch (InterruptedException e) { e.printStackTrace(); } } } @Override public void surfaceCreated(SurfaceHolder arg0) { heightScreen = getHeight(); widthScreen = getWidth(); thread = new Thread(this); thread.start(); flag = true; } @Override public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) { } @Override public void surfaceDestroyed(SurfaceHolder arg0) { flag = false; }}
0 0
- Android SurfaceView 学习笔记
- android 之surfaceView 学习
- Android SurfaceView学习示例
- Android之SurfaceView学习
- Android之SurfaceView学习
- Android之SurfaceView学习
- Android之SurfaceView学习
- Android中SurfaceView学习
- Android之SurfaceView学习
- Android之SurfaceView学习
- Android SurfaceView 学习
- Android之SurfaceView学习
- Android之SurfaceView学习
- Android:SurfaceView学习
- Android SurfaceView学习示例
- Android之SurfaceView学习
- Android SurfaceView学习示例
- Android之SurfaceView学习
- 请大家推荐跨语言的RPC库
- ubuntu操作系统学习笔记之文本处理
- 位操作 之三
- myEclipse从svn导出项目报unable to load default svn client错误
- 给他人同意
- android 学习: SurfaceView
- 汇编_8086作业
- 如何让传统行业的电商引发口碑效应并营销
- 常用javascript片断
- 开源粉末3D打印机 Pwdr
- Shell Script: find and delete
- 使用 DISM 脱机添加和删除驱动程序
- Rails3 session应用
- iOS之MVC架构