我正在尝试在Surface视图上绘制一个Bitmap:
private void draw1() {
if (ourHolder.getSurface().isValid()) {
Log.i("View", "drawing...");
canvas = ourHolder.lockCanvas(null);
canvas.drawColor(Color.GREEN, PorterDuff.Mode.CLEAR);
canvas.drawBitmap(playerShip.getBitmap(), 50, 50, paint);
ourHolder.unlockCanvasAndPost(canvas);
} else {
Log.i("View", "surface is not valid");
}
}
但没有出现。只是一个黑屏。
但如果我加上这个:
@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.GREEN, PorterDuff.Mode.CLEAR);
super.onDraw(canvas);
}
绘制位图。
是否需要我清除画布,只能使用onDraw()
方法?
另外,我是Android新手。欢迎任何关于写作风格的建议。