Frage zur Android-Benutzeroberfläche. Implementierungsleitfaden

9

Ich arbeite daran, eine Benutzeroberfläche für eine Android-Anwendung zu implementieren, und ich wollte fragen, ob es bereits etwas in den nativen Widgets gibt, um das meiste von dem, was ich versuche, zu erreichen.

Die Anwendung, an der ich arbeite, führt 15 verschiedene Aufgaben aus, die in drei verschiedene Gruppen unterteilt werden können. (5 Aufgaben pro Gruppe) Ich habe 18 Symbolbilder (3 für die Gruppen und 15 für die einzelnen Aufgaben) und ich möchte in der Lage sein, diese Symbole (beginnend mit den Gruppen) wie folgt einzublenden:

Ich möchte, dass das nächste Symbol unten und oben sichtbar wird (wenn es weiter unten als das erste Symbol ist) und wische, um zum nächsten Symbol zu gelangen.

Sobald ein Symbol angeklickt wird, gleiten die Panels zur Seite und zeigen die nächste Ebene (die spezifischen 5 Aufgaben für die ausgewählte Gruppe) an, wobei die ausgewählte Gruppe noch auf der Seite sichtbar ist:

Von dort aus kann der Benutzer auf einen Blick erkennen, in welcher Gruppe er sich befindet, was die aktuellen, nächsten und vorherigen auswählbaren Aufgaben sind, und dass er durch Wischen nach rechts zur Gruppenauswahl zurückkehren kann.

Welche Art von Widgets müsste ich untersuchen, um so etwas zu erreichen? Gibt es bereits vordefinierte Listen für diese Aktivitäten?

Danke für jede Anleitung!

    
joe_coolish 24.05.2011, 14:59
quelle

4 Antworten

6

Sie können sich mit einem LinearLayout von ImageView widgets und einem ScrollView (vertikal) oder HorizontalScrollView nähern. Es wird Ihnen jedoch nicht das gewünschte "zentrierte Bild mit den Bits der vorherigen / nächsten Bilder" geben - es wird immer dort sein, wo der Benutzer es positioniert.

Sie können mit einem Gallery schließen. Es wird Ihnen jedoch nicht die vertikale Ausrichtung geben, und es wird Ihnen immer einen festen Satz voller Optionen zu den Seiten geben, nicht die Teilbilder, die Sie suchen.

Wenn es so sein muss, wie Sie es beschreiben, müssen Sie es selbst rollen. Gesten und Animationen sollten Ihnen den gewünschten Effekt geben.

    
CommonsWare 24.05.2011, 16:13
quelle
0

Haben Sie sich ViewFlipper angesehen? Ссылка Dadurch wird der Nebeneffekt angezeigt, aber Sie müssen für jede Gruppe benutzerdefinierte Ansichten erstellen um es mit den richtigen Symbolen zu füllen.

    
JPM 07.06.2011 17:49
quelle
0

Ich würde eine ListActivity für die ersten drei Top-Level-Elemente verwenden. Dadurch erhalten Sie zwar nicht den gewünschten automatischen Zentrierungseffekt, aber Sie sollten in der Lage sein, sich den Quellcode der Galerie anzuschauen, den Sie hier , und nehmen Sie einige Änderungen an der ListActivity vor, so dass es automatisch zentriert.

Für die nächsten Elemente würde ich einen onClick und einen GestureListener hinzufügen, damit Sie zu einer anderen Aktivität mit einer anderen Listenansicht navigieren können. Da Sie wissen, woher Sie kommen (fügen Sie einige Daten zu Ihrer Absicht hinzu), können Sie das Farbrechteck auf der linken Seite so einstellen, dass es so aussieht, als hätten Sie gerade die ganze Ansicht nach links gewischt.

Wenn Sie die Animation anpassen müssen, können Sie dies aufrufen:

%Vor%

Damit das gelbe Symbol gut aussieht, wenn es links animiert wird, ändere ich die Listenbegrenzungen (bei der ersten Aktivität), um keine Ränder zu haben, und ändere das gelbe Symbol so, dass es quadratische rechte Kanten hat Ein kleines gelbes Rechteck bei der nächsten Aktivität scheint Teil der ersten Aktivität zu sein.

Es sollte relativ einfach sein, dies nachzuahmen, um zu sehen, ob es für Sie richtig funktioniert.

Viel Glück!

EDIT: Ok, also habe ich ein Basisprojekt gemacht, das das meiste von dem macht, was du willst. hier ist der Link zur Eclipse-Projektdatei. Ich wollte die Quelle hier hochstellen, aber es gibt ein bisschen viel zu zeigen.

Was Sie noch tun müssen:

  • Tweak Animation
  • Konfigurieren Sie die Ebenenlisten, um die korrekten Farben anzuzeigen
  • Fügen Sie Informationen zum Top-Level-Intent hinzu, damit sich die Unteraktivität selbst konfigurieren kann.
  • Ziemlich viele andere kleine Dinge.

Ich denke, ich habe die Hauptsache erledigt. Ich habe auch den Gestenhörer hinzugefügt, über den ich gesprochen habe, obwohl du deine Frage noch einmal durchgelesen hast, aber du hast nicht danach gefragt. Da es cool ist, habe ich es gelassen.

Viel Glück noch einmal!

    
Caspar Harmer 07.06.2011 06:59
quelle
-1

Haben Sie daran gedacht, Aktivitäten mit verschiedenen Ansichtskonfigurationen zu starten? Sie können mit einer Geste von einer Aktivität zur anderen wechseln und die Ansichten animieren. Wie Ihre UI für mich aussieht, ist eine Reihe von Bildschirmen mit Affordances, die die anderen Bildschirme zeigen. So kann eine Aktivität pro Bildschirm in verschiedenen Konfigurationen oder ähnlichem gleich sein.

    
AGrunewald 04.06.2011 18:43
quelle