2017-01-13 3 views
2

Ich habe Tausende von Artikeln und andere Stackoverflow-Fragen gelesen, aber ich kann wirklich nicht verstehen, warum meine Navigationsschublade kleiner ist als andere Apps-Drawer.Warum ist meine Navigationsschublade kleiner als andere?

Dies ist derzeit mein Navigationsleiste folgende Google-Richtlinien: My Navigation Drawer

Und ich will es so sein: Other Navigation Drawers

(Bitte beachten Sie, wie sich die Schublade in Google Drive deckt einen großen Teil der FAB)

hartzucodieren android:maxWidth="320dp" (beide für Handys und Tabletten) ich kann dieses Ziel zu erreichen: My Navigation Drawer with hardcoded maxWidth

Das ist fast das, was ich will, aber es folgt nicht Google Richtlinien und es ist immer noch ein bisschen kleiner als andere Navigationsschubladen.

Zusätzlich zum FAB können Sie den Unterschied auch an der Statusleiste erkennen.

Hier ist mein Home-Bildschirm:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    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"> 

     <!-- My content --> 

    </LinearLayout> 

    <include layout="@layout/drawer"/> 

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

Und mein NavigationView Layout:

<android.support.design.widget.NavigationView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer_navigation_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    app:headerLayout="@layout/drawer_header" 
    app:menu="@menu/drawer" 
    app:itemTextColor="@drawable/color_selector_drawer_text" 
    app:itemIconTint="@drawable/color_selector_drawer_icon" /> 

Was sollte ich ändern Sie es wie andere Navigation Schubladen zu machen?

+0

Genau dasselbe hier. Hast du etwas gefunden? –

+0

@BehnamMabodi nein, nichts :( –

Antwort

1

Ok, ich fand die Antwort.
Nach Navigation drawer pattern "Die maximale Breite der nav Schublade ist 280dp auf mobilen und 320dp auf Tablet" so Standardbreite der nav Schublade in unseren Apps ist, was es sein soll, aber andere apps verwenden 320dp (oder so ähnlich) sowohl für Tablets als auch für Mobiltelefone ignorieren sie das Materialdesign.
Allerdings, wenn Sie für den mobilen verwenden 320dp möchten, können Sie hinzufügen:

android:layout_width="320dp" 

Um Ihre NavigationView.
In meinem eigenen Test, machte es nav Schublade Breite genau das gleiche wie "Google Play" App, aber ich bevorzuge mit Standard-Material-Design-Einstellungen zu bleiben. Interessanter

, wenn Sie verwenden:

android:layout_width="280dp" 

werden Sie erreichen genau die gleiche Breite mit Ihrer aktuellen nav Schublade Breite!

P.S. Diese Material-Design-Richtlinie ist nur eine Vorlage (ein Standardwert und ein bevorzugter Wert). Sie müssen die besten Werte für Ihre App nach vielen Faktoren auswählen. Zum Beispiel, wenn Ihre Navigationsansicht Elemente lange String hat, ist es besser, 320dp für Mobilgeräte und Tablet und umgekehrt zu verwenden. Das ist meine Meinung.

Verwandte Themen