Android "Custom" Drawer Layout

StefMa

StefMa

Dauergast
450
Hallo,

wie man ein Drawer Layout erstellt, findet man hier.
Leider ist dort nur beschrieben, wie man im Drawer Layout ein ListView erstellt. Allerdings haben wir spätestens mit der neune G+ App gesehen, dass man dort eine "beliebige" Navigation erstellen kann. Beispiel: hier.

Wie das funktioniert ist relativ einfach. Denn das ListView, vom Beispiel aus den Android Docs, dient nur als "Platzhalter-View". In wahrheit können wir dort jedes beliebe View ablegen was wir wollen. Demnach auch ein RealtiveLayout, LinearLayout, GridView oder what ever. So können wir zum Beispiel über die eigentliche Navigation noch ein Bild legen, in dem wir einfach ein LinearLayout erstellen und darin ein ImageView + ListView erstellen. Wichtig ist hier nur das attribut android:layout_gravitiy="start". Das signalisiert nänlich das view, welches in den Drawer kommt.

Code:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <RelativeLayout
        android:id="@+id/drawer_layout_relative"
        android:layout_width="240dp"
        android:layout_height="wrap_content"
        android:layout_gravity="start" >

        <ImageView
            android:id="@+id/drawer_header_image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_logo_blue" />

        <ListView
            android:id="@+id/drawer_listview"
            android:layout_width="240dp"
            android:layout_height="match_parent"
            android:layout_below="@id/drawer_header_image"
            android:background="#ffffffff"
            android:choiceMode="singleChoice" />
    </RelativeLayout>

</android.support.v4.widget.DrawerLayout>

Gruß
 
Hallo StefMa!
bin Gestern ebenfalls auf den Quelltext auf "http://developer.android.com/training/implementing-navigation/nav-drawer.html" gestoßen. Find es ganz praktisch wenn man sich so ein Menü einfach reinziehen kann. Aber wenn ich das jetzt richtig verstehe kann man damit nur neue Layouts aufrufen? also mit jedem Menüpunkt eine neue Seite? sowas wie einen Hauptseite gibt es ja dann nicht mehr. Würde gerne den Drawer als ganz normales Menü verwenden mit dem ich AlertDialogs aufrufen möchte aber nach meinem momentanen Verständnis ist das damit nicht möglich oder irre ich mich?
Gruß
Patpa
 
Okay hab doch eine Möglichkeit gefunden das so umzusetzen wie ich es möchte :)
 
Man kann in den Drawer auch einfach ein Fragment packen. Das finde ich eigentlich die beste Lösung für mich weil man dann die ganze Logik des Drawers wie eventuell wechselnde Navigationsitems direkt im Code des Fragments machen kann und sich nicht in der Mainactivty damit befassen muss.
 

Ähnliche Themen

M
Antworten
4
Aufrufe
1.173
swa00
swa00
5
Antworten
0
Aufrufe
1.154
586920
5
B
Antworten
4
Aufrufe
496
bb321
B
Zurück
Oben Unten