GameThread gameThread;
public void surfaceCreated(SurfaceHolder arg0) {
//启动gameThread
gameThread.start();
}
@Override
protected void onDraw(Canvas canvas) {
Paint pt = new Paint();
pt.setARGB(255, 255, 255, 255);
canvas.drawRect(0, 0, 100, 100,pt);
super.onDraw(canvas);
}
class GameThread extends Thread {
public void run() {
// TODO Auto-generated method stub
while(run) {
Canvas c = null;
try {
synchronized (surfaceHolder) {
c = surfaceHolder.lockCanvas();
c.drawARGB(255, 255, 255, 255);
c.drawText("afd"+xx, 100, 100, new Paint());
xx++;
Thread.sleep(1000);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (c != null) {
surfaceHolder.unlockCanvasAndPost(c);
}
}
}
public void surfaceCreated(SurfaceHolder arg0) {
//启动gameThread
gameThread.start();
}
@Override
protected void onDraw(Canvas canvas) {
Paint pt = new Paint();
pt.setARGB(255, 255, 255, 255);
canvas.drawRect(0, 0, 100, 100,pt);
super.onDraw(canvas);
}
class GameThread extends Thread {
public void run() {
// TODO Auto-generated method stub
while(run) {
Canvas c = null;
try {
synchronized (surfaceHolder) {
c = surfaceHolder.lockCanvas();
c.drawARGB(255, 255, 255, 255);
c.drawText("afd"+xx, 100, 100, new Paint());
xx++;
Thread.sleep(1000);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (c != null) {
surfaceHolder.unlockCanvasAndPost(c);
}
}
}
解决方案 »
- E/AndroidRuntime(279): Caused by: java.lang.IllegalStateException: Expected a st
- android 自动识别分辨率问题
- 读取SIM卡短信 Moto CDMA SIMCard
- 请教关于hashmap里的get(int index)取值的问题
- HorizontalScrollView中子控件滑动问题
- 求使用pthread编写的多线程程序如果结束线程
- 美图秀秀拼图里的海报功能如何实现
- 关于Androdi中的UsbCamera只能挂载一个的问题求助
- android又腐案mysql数据库;连接不上的问题
- android databinding 方法参数传递问题
- 请问Android中支持那些JSR?能给一个列表吗?
- Android组件界面设计工具 DroidDraw
一般自定义操作了view的canvas都会走到dispatchDraw里面的。