シンプルなペイントアプリを作っていますが、キャンバスを使うのは初めてです。レイアウトxmlにSurfaceViewが既にあり、IDは正しいです。とにかく、ここに私のコードがあります:
package com.example.paint;
import android.app.Activity;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class Paint extends Activity {
/** Called when the activity is first created. */
SurfaceView v;
SurfaceHolder holder;
Canvas c;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
v = (SurfaceView) findViewById(R.id.svDraw);
holder = v.getHolder();
while (true) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (!holder.getSurface().isValid())
continue;
c = holder.lockCanvas();
c.drawARGB(255, 0, 255, 0);
holder.unlockCanvasAndPost(c);
}
}
}
ありがとう。