1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. AndroidDroid, 30.06.2011 #1
    AndroidDroid

    AndroidDroid Threadstarter Neuer Benutzer

    Hallo
    Ich möchte alle halbe Sekunde eine zufällige Linie zeichnen, das folgende Anfängerprogramm habe ich mühsam zusammengesucht, wenn ich das Programm von Hand neu aufrufe funktioniert es. (*freu*)

    Aber wie baue ich ein regelmässiges neu zeichnen ein?
    canvas.redraw(),Thread.sleep() etc habe ich erfolglos probiert. :blushing:

    Code:
    package com.example.DrawDemo;
    
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.graphics.Rect;
    import android.os.Bundle;
    import android.view.View;
     
    
    public class DrawDemo extends Activity {
    	DemoView demoview;
    	/** Called when the activity is first created. */
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		demoview = new DemoView(this);
    		setContentView(demoview);
    	}
    
    	private class DemoView extends View{
    		public DemoView(Context context){
    			super(context);
    		}
    
    		@Override protected void onDraw(Canvas canvas) {
    			super.onDraw(canvas);
    
    			Paint paint = new Paint();
    			paint.setStyle(Paint.Style.FILL);
    			paint.setColor(Color.WHITE);
    			canvas.drawPaint(paint);
    			
    			paint.setColor(Color.RED);
    			canvas.drawLine(0, 300+10, (int)(Math.random()*300), 300+10, paint);
    		}
    	}
    }
    
     
  2. ko5tik, 30.06.2011 #2
    ko5tik

    ko5tik Android-Experte

    Wenn du etwas in Echtzeit zeichnen willst ( Echtzeit bedeutet in diesen Kontext, zum definierten Zeitpunkt) kommst du nich an SurfaceView vorbei. Schau dir den LunarLander an
     
  3. Fr4gg0r, 30.06.2011 #3
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    Thread.sleep() + invalidate() wäre eine Möglichkeit
     
  4. ko5tik, 30.06.2011 #4
    ko5tik

    ko5tik Android-Experte

    sllep() auf UI-Thread? halte ich für keine gute Idee
     
  5. Fr4gg0r, 30.06.2011 #5
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    joa stimmt schon, vermutlich würde das system die app irgendwann abschießen weil sie auf touch events nicht reagiert.^^
     
  6. w0rmhunter, 30.06.2011 #6
    w0rmhunter

    w0rmhunter Neuer Benutzer

Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Android O Neue Fonts in XML Methode Android App Entwicklung 27.07.2017
[INFO] Neue Playstore Richtlinien im Mai 2017 Android App Entwicklung 19.05.2017
[UMFRAGE/INFO/DISKUSSION] Kotlin, die neue Programmiersprache für Android Android App Entwicklung 18.05.2017
[ERLEDIGT] Problem beim Starten einer neuen Activity Android App Entwicklung 21.03.2017
Canvas - onDraw(): 1 invalidate() sind 3 Aufrufe von onDraw() ? Android App Entwicklung 08.02.2017
Wie zeichne ich eine Linie mit Canvas ? Android App Entwicklung 28.01.2017
Viewelemente neu zeichnen Android App Entwicklung 04.01.2017