화면을 터치하는 곳에서 원을 그리는 간단한 Android 애플리케이션을 만들고 싶습니다. View (천천히)와 함께 작동하지만 SurfaceView는 사용하지 않습니다. 결과가 이상합니다 - 클릭하면 전체 이미지가 움직입니다. 또 다른 스레드에서 드로잉 함수를 호출하려고했지만 결과는 같습니다. 또한이 이상한 행동으로 또 다른 예를 발견했습니다 : http://android-er.blogspot.com/2010/05/android-surfaceview.html 나는 안드로이드 2.3.3, API 레벨 10과 함께 일합니다. 어떤 도움을 주시면 감사하겠습니다.Android의 SurfaceView가 깜박임
package com.samsung.sketchbook;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class SketchBook extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
BookView bookView = new BookView(this);
setContentView(bookView);
}
class BookView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder holder;
private Paint paint = new Paint();
private float x, y;
public BookView(Context context) {
super(context);
holder = getHolder();
holder.addCallback(this);
paint.setColor(Color.WHITE);
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
public void surfaceCreated(SurfaceHolder holder) {
Log.d("BookView", "surfaceCreated!");
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public boolean onTouchEvent(MotionEvent motionEvent) {
x = motionEvent.getX();
y = motionEvent.getY();
Canvas canvas = holder.lockCanvas(null);
canvas.drawCircle(x, y, 3, paint);
holder.unlockCanvasAndPost(canvas);
return true;
}
}
}
야, 문제는 해결 했습니까? – MeLight