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!
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.
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:
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!
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.
Tags und Links android user-interface android-layout