S
Sabbert
Neues Mitglied
- 0
Guten Tag zusammen,
Ich versuche auf einem SurfaceView via Canvas zu zeichnen, jodoch ohne erfolg bis jetzt.
Wenn ich die App starte bleibt Sie einfach schwarz und nichts passiert.
Ich habe versucht eine SurfaceView und einen Thread zu erstellen, der alle 50ms den SurfaceView neu zu zeichnen.
Als Test soll einfach nur ein Kreis gezeichnet werden.
Beim Start der App setzte ich vie setContentView(View) auf das SurfaceView um.
Ich hoffe ihr könnt mir helfen oder Tipps geben
lg
Ich versuche auf einem SurfaceView via Canvas zu zeichnen, jodoch ohne erfolg bis jetzt.
Wenn ich die App starte bleibt Sie einfach schwarz und nichts passiert.
Ich habe versucht eine SurfaceView und einen Thread zu erstellen, der alle 50ms den SurfaceView neu zu zeichnen.
Als Test soll einfach nur ein Kreis gezeichnet werden.
Beim Start der App setzte ich vie setContentView(View) auf das SurfaceView um.
Code:
package de.surface.test;
import android.app.Activity;
import android.os.Bundle;
public class SurfaceTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
DrawView view = new DrawView(this);
setContentView(view);
}
}
Code:
package de.surface.test;
import android.content.Context;
import android.graphics.Canvas;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
public class DrawView extends SurfaceView implements Callback {
private SurfaceHolder holder;
private Canvas canvas;
public DrawView(Context context) {
super(context);
holder = this.getHolder();
holder.addCallback(this);
draw();
}
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
public void surfaceCreated(SurfaceHolder holder) {
}
public void surfaceDestroyed(SurfaceHolder holder) {
}
private void draw() {
new Thread() {
public void run() {
canvas = holder.lockCanvas();
if(canvas != null) {
try {
canvas.drawCircle(50, 50, 50, null);
} finally {
holder.unlockCanvasAndPost(canvas);
}
}
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
}
}
lg