2010年5月12日水曜日

Android:SurfaceView::onDraw()が呼び出されない

SurfaceView::onDraw()が呼び出されない
Android: SurfaceView::onDraw() is not called
Android1.6+
----

SurfaceViewを使用してみるとOverrideした関数onDrawが呼び出されないことに
気がつきます。これはどうもデフォルトの仕様のようですが、SurfeceViewの
コンストラクタで、setWillNotDraw(false)とすることで
呼び出されるようになります。

class TestView extends SurfaceView
{
public TestView (Context context){
super(context);

setWillNotDraw(false); //■ここに追加
}
protected void onDraw(Canvas canvas) {

canvas.drawBitmap(bitmap,10,10,mPaint);

super.onDraw(canvas);
}
}


.

0 件のコメント:

コメントを投稿