1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Zeichnen auf ImageView in einem ViewFlipper???

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von FrauSpatzi, 10.06.2012.

  1. FrauSpatzi, 10.06.2012 #1
    FrauSpatzi

    FrauSpatzi Threadstarter Neuer Benutzer

    Beiträge:
    2
    Erhaltene Danke:
    0
    Registriert seit:
    09.06.2012
    Hallo zusammen,
    ich bin ein Android-Neuling und arbeite seit einiger Zeit an einem Projekt mit drei Fragmenten die jeweils ViewFlipper beinhalten. Diese beinhalten wiederrum Views. Im obersten Fragment befinden sich Maschinenquerschnitte und die beiden darunterliegenden beinhalten Diagramme. Nun möchte ich entweder einen bestimmten Bereich einer Maschine markieren oder einen Balken im Diagramm, sodass darauf hin in den beiden anderen Fragmenten auf den angezeigten Views bestimmte Teile hervorgehoben werden, z.B. durch eine rote Umrandung in einem Balkendiagramm (so wie es bei "Linking and Brushing" auch der Fall ist). Die Kommunikation zwischen den einzelen Fragmenten/ ViewFlippern funktioniert. Dafür habe ich eine Mischung aus Observer und Singelton Pattern verwendet. Jetzt fehlt mir aber die Idee dafür, wie ich das hervorheben verwirklichen soll? nochmals zur Struktur: Ein Fragment besteht aus einem ViewFlipper und darin sind verschiedene Views.


    Code:
            gelaendeFlipper = (ViewFlipper) findViewById(R.id.viewFlipper0);
            LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            int layouts[] = new int[]{R.layout.gelaende0, R.layout.gelaende1, R.layout.gelaende2, R.layout.gelaende3, R.layout.gelaende4 };
            for (int layout : layouts)
            	gelaendeFlipper.addView(inflater.inflate(layout, null));
    Meine Idee war ein canvas über eine ImageView zu legen, sodass die Imageview zum Beispiel in R.layout.gelaende2 einem selbstdefinierten Layout untergeordnet ist und dann kann ich auf der selbstdefinierten View ein Rechteck zeichnen ( als würde man auf einem Bild zeichnen). Leider musste ich feststellen dass man einer selbstdefinierten View nichts unterordnen kann. Ist es evtl doch möglich und mir ist nur die Lösung noch nicht über den Weg gelaufen? Hat einer von euch eine andere Idee? Wäre es klüger die Diagramme als Image in einer View zu haben und dann versuchen drauf zu zeichnen, denn ich habe auch ein paar APIs gefunden die einem ein DiagrammBild zu senden. Aber würde ich das verwenden bräuchte ich auch eine Ebene über diesem DiagrammBild auf dem ich zeichnen müsste.
    Und was auch noch wichtig ist, dass das Originalbild erhalten bleibt. Ich will die Markierungen auch wieder löschen können.

    Desweiteren möchte ich in das Projekt ein Zoom&Pan einbauen. Dabei soll der vergrößerte Bereich sich ein Fragment mit einem Viewflipper teilen. D.h. wenn ich nicht in eine ImageView hineinzoome (die ImageView befindet sich in einem anderen Fragment), soll die aktuelle View des Viewflippers angezeigt werden. Wenn ich aber zoome soll die aktuelle View durch den Zoom ersetzt werden. Ich habe daraufhin den Gedanken gehabt, dass ich den ViewFlipper unsichtbar mache und dann halt der Zoom angezeigt wird (bzw. andersherum). Aber auch hier scheitere ich an der Hierarchie.

    Ich hoffe, dass ihr meine Erklärungen verstehn/nachvollziehen könnt .
    Es wäre echt super wenn ihr mir helfen könntet, denn ich weiß nicht mehr weiter.
    Vielen Dank
    lg
    FrauSpatzi
     

Diese Seite empfehlen