2014-11-12 28 views
5

Sto tentando di modificare il mio cassetto di navigazione per assomigliare a quello della nuova app Gmail. Sto usando AppCompatv7 - v21 e ho il sdk aggiornato. Cosa mi manca? Si prega di fare riferimento alle immagini qui sotto.Cassetto di navigazione: Gmail vs AppCompatv7 v21

Gmail Navigazione:

enter image description here

Il cassetto di navigazione, si muove sopra la barra degli strumenti.

mia navigazione corrente:

enter image description here

Il cassetto di navigazione, arriva al di sotto della barra degli strumenti.

[EDIT]

Questo è stato il mio codice XML in precedenza:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <include 
     android:id="@+id/toolbar" 
     layout="@layout/toolbar_with_spinner" /> 

    <android.support.v4.widget.DrawerLayout 
     android:id="@+id/drawer_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 
     </FrameLayout> 

     <ListView 
      android:id="@+id/listview_drawer" 
      android:layout_width="240dp" 
      android:layout_height="match_parent" 
      android:layout_gravity="start" 
      android:background="@color/dark_grey" 
      android:choiceMode="singleChoice" 
      android:divider="@drawable/drawer_list_divider" 
      android:dividerHeight="2dp" /> 
    </android.support.v4.widget.DrawerLayout> 

</LinearLayout> 

Ora secondo il suggerimento di Pedro, ho cercato di spostare la barra degli strumenti all'interno drawerlayout.

Ecco il mio nuovo xml:

<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" > 

    <include 
     android:id="@+id/toolbar" 
     layout="@layout/toolbar_with_spinner" /> 

    <FrameLayout 
     android:id="@+id/fragment_container" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
    </FrameLayout> 

    <ListView 
     android:id="@+id/listview_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/white" 
     android:choiceMode="singleChoice" 
     android:divider="@drawable/drawer_list_divider" 
     android:dividerHeight="2dp" /> 

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

Questo è il mio codice attuale in onCreate()

mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
     toolbar = (Toolbar) findViewById(R.id.toolbar); 
     spinner = (Spinner) toolbar.findViewById(R.id.spinner); 
     mDrawerList = (ListView) findViewById(R.id.listview_drawer); 

Ora, io non nemmeno a vedere la toolbar. Ecco l'immagine.

enter image description here

[EDIT]

Ecco il mio nuovo layout. Questo funziona .. grazie ancora pedro ...

<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" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar_with_spinner" /> 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 
     </FrameLayout> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/listview_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/white" 
     android:choiceMode="singleChoice" 
     android:divider="@drawable/drawer_list_divider" 
     android:dividerHeight="2dp" /> 

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

enter image description here

risposta

5

Devi mettere la vostra barra degli strumenti all'interno del vostro cassetto Layout.

Ecco un esempio di XML preso from this Github Project:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
             xmlns:app="http://schemas.android.com/apk/res-auto" 
             android:id="@+id/drawer" 
             android:layout_width="match_parent" 
             android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical"> 

     <include 
      android:id="@+id/toolbar_actionbar" 
      layout="@layout/toolbar_default" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"/> 

     <FrameLayout 
      android:id="@+id/container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"/> 
    </LinearLayout> 
    <!-- android:layout_marginTop="?android:attr/actionBarSize"--> 
    <fragment 
     android:id="@+id/fragment_drawer" 
     android:name="com.poliveira.apps.materialtests.NavigationDrawerFragment" 
     android:layout_width="@dimen/navigation_drawer_width" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:layout="@layout/fragment_navigation_drawer"/> 
</android.support.v4.widget.DrawerLayout> 
+0

ho cercato di mettere la barra degli strumenti all'interno del drawerlayout, ma ora non vedo la barra degli strumenti a tutti. Puoi guardare la mia domanda modificata? –

+0

Avvolgi la barra degli strumenti e il framelayout all'interno di una finestra lineare. Controlla il mio esempio XML –

+0

Grazie, ora funziona ... Ho provato ad aggiungere linearlayout prima e per qualche motivo si è bloccato. Sembra che l'ho incasinato indietro allora. Ora funziona bene. Grazie per l'aiuto!!! –

0

Ecco il mio nuovo layout. Questo funziona .. grazie ancora pedro ...

<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" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" > 

     <include 
      android:id="@+id/toolbar" 
      layout="@layout/toolbar_with_spinner" /> 

     <FrameLayout 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" > 
     </FrameLayout> 
    </LinearLayout> 

    <ListView 
     android:id="@+id/listview_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:background="@color/white" 
     android:choiceMode="singleChoice" 
     android:divider="@drawable/drawer_list_divider" 
     android:dividerHeight="2dp" /> 

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

enter image description here

Problemi correlati