2015年7月14日 星期二
2015年7月10日 星期五
android surfaceview 相關
CustomView extends SurfaceView implements Callback
private SurfaceHolder sfh;
private Paint mPaint;
private Paint mClearPaint;
private CoreThread coreThread;//
//surfaceview 透明背景
setZOrderOnTop(true);
sfh = getHolder();
sfh.addCallback(this);
sfh.setFormat(PixelFormat.RGBA_8888);
//畫筆設定
mPaint = new Paint();
mPaint.setAntiAlias(true);
mClearPaint = new Paint();
mClearPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
//畫面重整
private void draw() {
Canvas canvas = null;
try {
canvas = sfh.lockCanvas();
if (canvas != null) {
canvas.drawPaint(mClearPaint);
if (MainSprite != null) {
drawMainSprite(canvas);
}
synchronized (drawLock) {
for (SpriteParam sp : FoodList) {
drawFoodSprite(canvas, sp);
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (canvas != null)
sfh.unlockCanvasAndPost(canvas);
}
}
private SurfaceHolder sfh;
private Paint mPaint;
private Paint mClearPaint;
private CoreThread coreThread;//
//surfaceview 透明背景
setZOrderOnTop(true);
sfh = getHolder();
sfh.addCallback(this);
sfh.setFormat(PixelFormat.RGBA_8888);
//畫筆設定
mPaint = new Paint();
mPaint.setAntiAlias(true);
mClearPaint = new Paint();
mClearPaint.setXfermode(new PorterDuffXfermode(Mode.CLEAR));
//畫面重整
private void draw() {
Canvas canvas = null;
try {
canvas = sfh.lockCanvas();
if (canvas != null) {
canvas.drawPaint(mClearPaint);
if (MainSprite != null) {
drawMainSprite(canvas);
}
synchronized (drawLock) {
for (SpriteParam sp : FoodList) {
drawFoodSprite(canvas, sp);
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (canvas != null)
sfh.unlockCanvasAndPost(canvas);
}
}
訂閱:
文章 (Atom)