Baum-Widget in Android

Q

quiddix

Ambitioniertes Mitglied
1
Hallo,

ich bin gerade am Planen meiner ersten Applikation für Android und mache einige GUI-Entwürfe.

Für die Kernkomponente der Software, sollte die GUI Datenelemente in einem Baum anzeigen können, das heißt einen Vaterknoten mit Beschriftung und mehrere Kind-Datenobjekte.

Da die Vaterelemente die Kindelemente nur gruppieren sollen und immer voll ausgeklappt sein sollen, habe ich mir Ideen gemacht wie das ganze aussehen kann. Da ich bis jetzt noch kein Android Handy befinde, weiß ich leider nicht welche GUI-Standard-Elemente es gibt und habe auch bei dem android.widget package nichts passendes gefunden.

Als ich letztens Musik gehört habe, ist mir aufgefallen, dass die Komponente die ich benötige eigentlich genau sein sollte, wie die Musikliste auf meinem IpodTouch.
iphone-imatrix2.png


Die Buchstaben (vater-knoten) gruppieren hier die Musik,Kontakte , ... (Kind-Knoten), trotzdem wird alles in einer gut navigierbaren Liste dargestellt.

Gibt es ein ähnliches Widget bei Android auch?
 
HI,

hab mir die Klasse jetzt mal angeschaut und ich denke, dass sich das Widget ListView nicht dazu eignet (bitte korrigieren, wenn ich da falsch liege).

Das besondere bei der Apple Umsetzung ist, dass alle Namen die mit D.. beginnen unter dem Buchstabe D stehen.

Man könnte jetzt zwar anfangen, in die ListView DummyItems einzufügen, die dann quasi diesen Header erzeugen, aber das wäre relativ unschön.

Außerdem wäre der Contentprovider bei einem Baum viel einfacher zu implementieren, da ich Klasse A als Vaterelement habe und dann Klasse B als Kindelement.

Die Apple-Umsetzung stellt also eigentlich einen immer ausgeklappten Baum dar. Was ich aber am besten finde ist, dass die Vaterelemente (z.B. "M") immer zu sehen sind.
Das heißt wenn ich eine Liste mit 100 M Einträgen habe, dann kann ich diese Liste scrollen aber der Header "M" bleibt so lange angezeigt, bis die ersten Namen mit "N" kommen. Danach wird der Header "M" vom Header "N" verdrängt (schwer zu beschreiben).

Also falls es noch andere Entwickler hier gibt, wäre es nett ob ihr mir nochmal Hilfe geben könntet ob es so eine ähnliche Klasse gibt. Falls es das nicht gibt, denke ich, dass ich mir so ein Widget selber zusammenstellen werde.

EDIT:
Noch eine Frage: Kennt jemand eine Seite, auf der die Widgets die Android anbietet beispielhaft als Screenshot oder Grafik dargestellt sind (ein paar sind ja auf der Android seite aber das sind glaub nur 5-6).

Danke
 
quiddix schrieb:
Also falls es noch andere Entwickler hier gibt, wäre es nett ob ihr mir nochmal Hilfe geben könntet ob es so eine ähnliche Klasse gibt. Falls es das nicht gibt, denke ich, dass ich mir so ein Widget selber zusammenstellen werde.

sowas muss echt nicht sein ;) Die Lösung, die Vorgeschalgen wurde, ist die richtige... Die Listview ist sehr sehr komplex und man kann damit recht schöne Sachen machen ;) Wenn es dir net passt, wie Android arbeitet, musst de es net hier an den Leuten auslassen :D

Unteranderem gibt es kein Widget, das dir direkt nen TreeNode aufbaut... Aber die Listview kann es trotzdem... Einfach mal ein wenig googeln und schon hat man eine Lösung.

Gruß
Michael
 
  • Danke
Reaktionen: SeraphimSerapis
MichaelS schrieb:
sowas muss echt nicht sein ;) Die Lösung, die Vorgeschalgen wurde, ist die richtige... Die Listview ist sehr sehr komplex und man kann damit recht schöne Sachen machen ;) Wenn es dir net passt, wie Android arbeitet, musst de es net hier an den Leuten auslassen :D

Unteranderem gibt es kein Widget, das dir direkt nen TreeNode aufbaut... Aber die Listview kann es trotzdem... Einfach mal ein wenig googeln und schon hat man eine Lösung.

Gruß
Michael

Sehe ich genauso - man muss sich eben etwas einarbeiten in die ListView (wie auch die anderen Views bei Android). Und es gibt eben nicht immer einen 100% gleiches Äquivalent zwischen Android und dem iPhone BSD.
Das ist ja auch vollkommen logisch.

Gruß Tim
 
quiddix schrieb:
Da ich bis jetzt noch kein Android Handy befinde, weiß ich leider nicht welche GUI-Standard-Elemente es gibt und habe auch bei dem android.widget package nichts passendes gefunden.
Es gibt ein großes Android Beispiel-Projekt, das kannst du im Emulator ausführen. Dort werden alle Widgets vorgestellt und es lässt sich damit prima heraus finden, welches für das jeweilige Projekt geeignet ist. Das solltest du einmal ausprobieren, da du so wesentlich schneller die unterschiedlichen Möglichkeiten kennen lernen kannst.

Ganz ohne ein Android-Smartphone zu besitzen. ;)

Gruß
Chris
 
HI,

was geht denn hier ab. Der Beitrag von mir war doch keineswegs böse oder sowas gemeint, ich wollte nur wissen, ob vielleicht jemand anders da noch was kennt.

Ich habe gestern noch ziemlich lange gegoogelt und mittlerweile die Klasse ExpandableListView gefunden.
Das ist ein Art Baum, vielleicht kann man den ja immer ausgeklappt lassen.

@garak
Weiß du eventuell ein Link zu dem Projekt?
 
quiddix schrieb:
@garak
Weiß du eventuell ein Link zu dem Projekt?

Ich bin zwar nicht garak, aber:
Schau mal in den Ordner von deinem SDK - da sind Beispielprojekte, unter anderem das für verschiedene Views.
EDIT: Bzw wähl in Eclipse einfach ein Sample Project (Api Demos zB) aus.

Gruß Tim
 
Zuletzt bearbeitet:
Mit den ListViews sind vielfältige Arten von Listen möglich. Entsprechend der Liste deines Screenshots sind z.B. die Kontakte im Android aufgebaut, wobei die Suche nach den einzelnen Abschnitten wesentlich besser gelöst ist, als das im iPhone der Fall ist. Leider kannst du das nicht im Emulator sehen (ich habe es zumindest noch nicht herausgefunden) sondern nur im richtigen Smartphone.

Zur Verdeutlichung, welche Listen für deine Problemstellung interessant wären, hier die Screenshots.

listview1.png listview2.png

Gruß
Chris
 
Hi,

die rechte Liste sieht ja klasse aus. Habe mittlerweile im Internet auch einige Code Schnipsel gesehen wie sich das realisieren lässt. Ich denke ich werde nach der Planungsphase nächste Woche eventuell mal anfangen die ersten GUI-Elemente zu designen.

Vielen Dank für die hilfreichen Antworten
MFG qx
 

Ähnliche Themen

D
Antworten
23
Aufrufe
2.514
Data2006
D
OnkelLon
Antworten
13
Aufrufe
1.974
OnkelLon
OnkelLon
wernho
Antworten
11
Aufrufe
680
wernho
wernho
Zurück
Oben Unten