DrawerLayout und Multi Pane Layout

8

Meine Anwendung verwendet ein Multi-Pane-Layout , um eine Liste der Zuweisungen anzuzeigen. Jedes Assignment kann in ein AssignmentCategory eingefügt werden. Ich möchte ein DrawerLayout verwenden, um alle Zuweisungskategorien anzuzeigen, sodass der Benutzer problemlos zwischen ihnen wechseln kann die verschiedenen Kategorien.

Ich habe es nicht geschafft, ein solches Layout zu erstellen. Im offiziellen DrawerLayout-Lernprogramm ersetzt DrawerLayoutActivity ein Fragment , wenn ein Benutzer auf a klickt Artikel (in meinem Fall ein AssignmentCategory ). Das Problem, dem ich gegenüberstehe, ist, dass ein Multi Pane-Layout ein FragmentActivity erfordert. Ich weiß nicht, wie man ein Fragment erstellt, das ein Multi-Pane-Layout enthält. Hat es jemand geschafft?

    
ObAt 18.10.2013, 08:46
quelle

1 Antwort

7

Die Kombination der beiden Projekte sollte nicht zu schwierig sein. Im Beispielcode ersetzt das DrawerLayout -Beispiel das Inhaltsfragment, aber Sie müssen nicht dasselbe tun. Sie können einfach dasselbe Fragment aktualisieren, um die richtigen Daten anzuzeigen. Sie können die zwei Projekte auf diese Weise implementieren:

  • Beginnen Sie mit dem Demoprojekt mit mehreren Fenstern.
  • Aktualisieren Sie die beiden Aktivitäten der Multi-Fenster-Demo auf erweitert ActionBarActivity (v7). Sie müssen FragmentActivity nicht erweitern.
  • Implementieren Sie den Code DrawerLayout (den Code aus dem Schubladenprojekt) in der Startlistenaktivität (ich nehme an, Sie möchten nicht DrawerLayout in der Detailaktivität, aber die Implementierung sollte kein sein Problem, wenn Sie es wollen).
  • Das Layout der Startlistenaktivität wird so aussehen (vergiss nicht, dass du die DrawerLayout Änderungen auch in activity_item_twopane.xml implementieren musst!):

    %Vor%
  • Ändern Sie die Implementierung DrawerItemClickListener . Wenn der Benutzer also auf das Element für die Schubladenliste klickt, das Sie nicht erstellen, und ein neues Listenfragment hinzufügen, aktualisieren Sie stattdessen das einzelne Listenfragment aus dem Layout:

    %Vor%
  • Die Update-Methode wäre etwa so:

    %Vor%

    - verschiedene andere kleine Änderungen

Ich habe ein Beispielprojekt erstellt, um die obigen Änderungen zu veranschaulichen, die Sie hier finden können .

    
Luksprog 31.10.2013, 12:32
quelle