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);
}
}