static final String tag = "GameView";
//声明GameThread类实例
GameThread gameThread;
public GameView(Context context) {
super(context);
// TODO Auto-generated constructor stub
//获取SurfaceHolder
SurfaceHolder surfaceHolder = getHolder();
//添加回调对象
surfaceHolder.addCallback(this);
//创建GameThread类实例
gameThread = new GameThread(surfaceHolder);
}
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
Log.v(tag, "surfaceChanged");
}
public void surfaceCreated(SurfaceHolder arg0) {
// TODO Auto-generated method stub
Log.v(tag, "surfaceCreated");
//启动gameThread
gameThread.start();
}
public void surfaceDestroyed(SurfaceHolder arg0) {
// TODO Auto-generated method stub
Log.v(tag, "surfaceDestroyed");
//通过结束run()函数的方法结束gameThread,详见GameThread类的定义
gameThread.run = false;
}
/**
* GameThread的定义
*
*/
class GameThread extends Thread {
SurfaceHolder surfaceHolder;
//run()函数中控制循环的参数。
boolean run = true;
public GameThread(SurfaceHolder surfaceHolder) {
this.surfaceHolder = surfaceHolder;
}
@Override
public void run() {
// TODO Auto-generated method stub
int i = 0;
while(run) {
Log.v(tag, "GameThread");
Canvas c = null;
try {
synchronized (surfaceHolder) {
//我们在屏幕上显示一个计数器,每隔1秒钟刷新一次
c = surfaceHolder.lockCanvas();
c.drawARGB(255, 255, 255, 255);
c.drawText("" + i++, 100, 100, new Paint());
Thread.sleep(1000);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (c != null) {
surfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
}
}
分享到:
相关推荐
利用SurfaceView实现简单的计时器
Android SurfaceView 实现实时显示摄像头视频,详见博客:https://blog.csdn.net/qq_30297763/article/details/90241102
Android SurfaceView 实现实时显示摄像头视频,详见博客:https://blog.csdn.net/qq_30297763/article/details/90241102
自学了android有几个月了,跟着网上的节奏,应该早点写些博客来提高自己的水准的。但苦于技术水准始终不自信(也是不过关的结果吧)...目标:利用SurfaceView实现一个简单的计时器 图示: 描述:1.利用SurfaceView来实
surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页surfaceView 网页
用SurfaceView显示完整图片代码
android使用双缓冲辨析及surfaceview使用例子
这是在上网收集的,能够截取当前Activity中surfaceView中图片。本人亲测可以通过。
两个TextView是用来显示提示信息和倒计时的秒数的 相关教程:Android开发从相机或相册获取图片裁剪 Android启动相机拍照并返回图片 <RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android...
android MediaPlayer SurfaceView
Android中使用surfaceview开发的Camera相机,内容含有注释,非常清楚
SurfaceView一般用于游戏中,但是有时候我们自定义View的时候,自定义View现有的功能区不能达到我们预期的效果,所以surfaceview也是一个不错的选择.这个demo是一个surfaceview的基础应用,适合新手.
surfaceview进行屏幕截图demo
MediaPlayer,SurfaceView,使用audioView,和Mediaplay