1. Mitglieder surfen ohne Werbung auf Android-Hilfe.de! ✔ Jetzt kostenlos Mitglied in unserer Community werden.
  1. iggi13, 22.07.2010 #1
    iggi13

    iggi13 Threadstarter Neuer Benutzer

    Hallo,

    ich würde gerne in mitten einer Activtiy einen drehende Pfeil zeichnen wollen.
    Dabei sollen die restlichen GUI-Element "ganz" normal platziert werden.
    Der Pfeil gibt die Richtung der GPS-Koordinaten an. Der Rest des Programms steht soweit außer die GUI.

    Hat jemand eine Idee? Ich habe so etwas ähnliches schon einmal mit einer View und einem Canvas gemacht, aber wie gesagt möchte ich auf dieser Ansicht auch noch weitere "normale" GUI-Elemente, wie Textfelder, einbauen.

    vg iggi
     
  2. MichaelS, 22.07.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    was spricht dan gegen canvas? einfach ne klasse schreiben, der du die methode zum rendern überschreibst und fertig ;) die klasse erbt natürlich von View und kan so überall eingesetzt werden =) kein hexenwerk ;)
     
  3. iggi13, 22.07.2010 #3
    iggi13

    iggi13 Threadstarter Neuer Benutzer

    Ich wollte mich aber nicht um die Positionierung von den weiteren Textfeldern kümmern, sondern das von dem LayoutManager der Activity übernehmen lassen. Sonst fange ich ja an, die GPS-Position auch zu zeichnen, oder?

    Gibt es da nicht einen Weg ein Bild einzufügen und das zu drehen? Aber dann sind wir schon wieder an dem OpenGL dran, denke ich mal.
     
  4. MichaelS, 22.07.2010 #4
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    arg du machst mich schwach ;D habs doch erklärt wie es geht... Du machst ne Klasse, die von View erbt und überschreibst das Rendern dieser einen View... Diese Klasse fügst du dan deiner Activity hinzu in nen Layout deiner Wahl...
     
  5. DieGoldeneMitte, 22.07.2010 #5
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Ich weiss auch nicht, wass an Canvas.rotate() so kompliziert sein soll. :D
     
  6. ko5tik, 22.07.2010 #6
    ko5tik

    ko5tik Android-Experte


    Definiere mal eine Animation auf deinen Object, und es wird sich drehen (und nicht nur) bis dir schwindlich ist.

    Das zwingt meine Kugeln für immer zu hüpfen:
    Code:
    
        <translate  xmlns:android="http://schemas.android.com/apk/res/android" android:repeatCount="infinite" android:repeatMode="reverse"
                android:fromXDelta="0"
                android:fromYDelta="0"
                android:toXDelta="0"
                android:toYDelta="-3"
                android:duration="150"
                android:interpolator="@android:anim/accelerate_decelerate_interpolator"/> 
    
    
    Und im Code (in einen View):
    Code:
          wobble = AnimationUtils.loadAnimation(context, R.anim.jump);
          startAnimation(wobble);
    
     
  7. iggi13, 23.07.2010 #7
    iggi13

    iggi13 Threadstarter Neuer Benutzer

    Danke für die Antworten.
    Habe bis jetzt weniger mit GUI und Android gemacht. Also nur Java ;)
    Naja bissel in einer TextView angezeigt und so...

    Habe mir jetzt ne View erstellt
    Doch wie bekomme ich das nun in das Layout gepackt?
    Wenn ich es im Quellcode mit setContentView mache, dann wird der Pfeil angezeigt. Aber würde es wie gesagt, gerne in die Mitte der ersten Actitvity platzieren.

     
  8. DieGoldeneMitte, 23.07.2010 #8
    DieGoldeneMitte

    DieGoldeneMitte Android-Lexikon

    Wenn Du selber einen View bauen willst, kannst Du den mit seinem vollen Klassennamen (also mit Paketnamen) im XML spezifizieren. (Ggf auch noch onMeasure und onLayout überladen)

    Code:
    <com.meine.widgets.DirectionView
       ... attribute ...
    />
    
    Achja, und anstatt "new Float(0.0)" schreibt man in Java "0.0f"
     
  9. iggi13, 23.07.2010 #9
    iggi13

    iggi13 Threadstarter Neuer Benutzer

    Danke für den Typ mit float.

    Habe nun
    Wird auch angezeigt wunderbar. Aber irgendwie wird es nicht in der "GoldenenMitte" angezeigt ;)
     
  10. iggi13, 09.08.2010 #10
    iggi13

    iggi13 Threadstarter Neuer Benutzer

    Hallo,

    kann mir keiner sagen, warum der Pfeil, denen ich einer DirectionView zeichne oben links ist statt in der Mitte des Bildschirms?

    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center">
    <TextView
    android:id="@+id/TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ff009900"
    >
    
    </TextView>
    
    <ProgressBar
            android:id="@+id/ProgressBar01"
            android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_gravity="center"
            android:layout_height="wrap_content"></ProgressBar>
    <de.fhhannover.DirectionView
    android:id="@+id/DirectionView"
    android:layout_centerInParent="true"
            android:layout_width="wrap_content"
            android:layout_gravity="center"
            android:layout_height="wrap_content"
    ></de.fhhannover.DirectionView>
    
    </RelativeLayout>
    Code:
    protected void onDraw(Canvas canvas) {
    		
    	
    		Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
    				R.drawable.pfeil);
    		Paint paint = new Paint();
    
    
    
    		canvas.save();
    
    		canvas.rotate((float) mDrehung, bitmap.getWidth() / 2, bitmap
    				.getHeight() / 2);
    		
    		canvas.drawBitmap(bitmap, 0.f, 0.f, paint);
    	
    		canvas.restore();
    
    
    	}
    Komischerweise wird die Progressbar schön in der Mitte angezeigt, doch nicht der Pfeil der in der DirectionView gezeichnet wird. Muss ich dem Canvas noch mitteilen, ab wo er zeichnen soll?
     
    Zuletzt bearbeitet: 09.08.2010
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Zeichnen auf Bildern/Fotos Android App Entwicklung 29.09.2018
Fehlermeldung 'Activity has leaked window' Android App Entwicklung 20.08.2018
Daten speichern in einer Datei auf der jede Aktivität zugreifen kann Android App Entwicklung 12.05.2018
Fragment Textview Text von non-Activity ändern Android App Entwicklung 27.01.2018
[OFFEN] If (loginSuccess) dann neue Activity Android App Entwicklung 11.12.2017
Integer-Wert übertragen auf zweite Activity Android App Entwicklung 17.11.2017

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. android drehender pfeil

    ,
  2. android drehende pfeile

Du betrachtest das Thema "In Activity einen drehenden Pfeil zeichnen" im Forum "Android App Entwicklung",
  1. Android-Hilfe.de verwendet Cookies um Inhalte zu personalisieren und dir den bestmöglichen Service zu gewährleisten. Wenn du auf der Seite weitersurfst stimmst du der Cookie-Nutzung zu.  Ich stimme zu.