Hallo,
ich möchte, daß zur Laufzeit in gewissen Abständen Linien nacheinander und für den Benutzer sichtbar gezeichnet werden.
Bisher ist es mir nur gelungen, die Grafik mittels des folgenden Quelltextauszugs im "onCreate" der Activity anzeigen zu lassen.
package de.cssenior.zeichne1;
public class zeichner extends View {
private int x;
private int y;
private Canvas mCanvas;
Paint paint = new Paint();
public void Das() {
mCanvas.drawLine(0, y, x, y, paint); //Das
}
public void ist() {
mCanvas.drawLine(x, y, x, y/2, paint); //ist
}
// (......)
@Override
protectedvoid onDraw(Canvas canvas) {
// TODO Auto-generated method stubsuper.onDraw(canvas);
paint.setColor(Color.RED);
x=getWidth()-1;y=getHeight()-1;mCanvas = canvas;
Das();
ist();
das();
Haus();
vom();
Ni();
Ko();
Laus();
}
Alles anzeigen
In der main.xml-Layoutdatei der Activity binde ich die Grafik so ein:
<de.cssenior.zeichne1.zeichner
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</de.cssenior.zeichne1.zeichner>
Um die einzelnen Linien der Zeichnung in zeitlichen Abständen zu zeichnen, müßte ich sicherlich die AsyncTask-Klasse erweitern;
prinzipiell habe ich es auch schon hinbekommen mit einer von der AsyncTask-Klasse abgeleiteten Klasse zu arbeiten, indem ich eine Activity geschrieben habe, welche die Zahlen von 10 bis 0 herunterzählt und in Sekundenabständen in einem TextView ausgibt (mittels der setText-Methode innerhalb onProgressUpdate).
Soweit mir bekannt ist muß ich einen SurfaceHolder dafür verwenden, aber als Anfänger verstehe ich die Zusammenhänge noch nicht.
Könnte mir jemand ein kurzes Beispielprogramm schreiben, das nichts anderes tut, als nach dem Start in die Activity im Abstand von je einer Sekunde zwei bis drei Linien zu zeichnen?
Danke im Vorraus!
Ralf Kirschner