import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Bitmap.Config;
import android.graphics.drawable.BitmapDrawable;
import android.view.View;
/**
* @version 2012-8-15 上午10:06:07
**/
public class GameView extends View implements Runnable {
Bitmap bit = null;
Paint mPaint = null;
// 创建一个缓冲区
Bitmap mSCBitmap = null;
// 创建Canvas
Canvas mCanvas = null;
public GameView(Context context) {
super(context);
// 装载资源
bit = ((BitmapDrawable) getResources().getDrawable(R.drawable.icon))
.getBitmap();
// 创建屏幕大小缓冲区
mSCBitmap = Bitmap.createBitmap(480, 800, Config.ARGB_8888);
// 创建Canvas
mCanvas = new Canvas();
// 将内容绘制在mSCBitmap
mCanvas.setBitmap(mSCBitmap);
mPaint = new Paint();
// bit绘制在mSCBitmap
mCanvas.drawBitmap(bit, 0, 0, mPaint);
new Thread(this).start();
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// 将mSCBitmap显示在屏幕上
canvas.drawBitmap(mSCBitmap, 0, 0, mPaint);
}
@Override
public void run() {
while(!Thread.currentThread().isInterrupted()) {
try {
Thread.sleep(100);
}
catch(Exception e) {
Thread.currentThread().interrupt();
}
postInvalidate();
}
}
}
VIEW双缓冲
最新推荐文章于 2024-05-16 03:24:19 发布