24

Zwischen der Kopfzeile und dem ersten in diesem Bild gezeigten Element ist eine unnötige obere Auffüllung vorhanden.Wie kann ich das unnötige obere Padding der Navigationsansicht entfernen?

enter image description here

Wie es entfernt werden kann?

können Sie den Quellcode finden Sie hier: https://github.com/chrisbanes/cheesesquare

+1

Nur für den Fall der Meinung, dass ein Fehler vorliegt, ist es nicht, sondern es ist ein Teil des Materials Design-Richtlinien ist. http://www.google.com/design/spec/components/lists.html#lists-specs Es sollte dort sein, wo Sie versuchen, es auf Google-Standard zu halten. Es ist 8dp Polsterung. –

+0

Ich meine nicht den Header, ich weiß, es ist eine Richtlinie. was ich meinte ist die oberste Polsterung zwischen dem ersten Element und der Kopfzeile. –

+3

Ja, das weiß ich. Das soll da sein. Es ist Teil der Richtlinien. Sehen Sie sich das Bild hier an. Es gibt einen 8dp Seperator. Und es ist in all den neuesten Google Material Apps. http://material-design.storage.googleapis.com/publish/material_v_4/material_ext_publish/0Bx4BSt6jniD7eUpZcXJRODJvMXc/components_lists_keylines_single5.png –

Antwort

13

NavigationView sucht das Material Design specs for the navigation drawer, die zwischen Inhaltsbereichen eine 8DP Raum angeben, entsprechen. Im Allgemeinen gibt es keine Möglichkeiten, NavigationView außer Kraft zu setzen, um die Spezifikationen zu brechen.

material design specs

+0

Sie können diesen Wert leicht überschreiben. Möglicherweise kann dieses Padding programmgesteuert hinzugefügt werden, um diesen Fall zu vermeiden. –

25

sollten Sie die Antwort des Ian lesen. Die NavigationView folgt den Materialrichtlinien und Sie sollten diese Spezifikationen nicht brechen.

Jedoch derzeit, können Sie diesen Wert in Ihrem Projekt überschreiben.

Fügen Sie einfach zu Ihrem dimens.xml:

<dimen name="design_navigation_separator_vertical_padding">0dp</dimen> 

Warnung:

  • in Zukunft das Android-Team diesen Wert ändern können!
  • der gleiche Wert an jeden Separator in der Liste angelegt wird

Die NavigationView verwendet ein LinearLayout als Kopfansicht. Sie können dieses Layout im Quellcode sehen:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:paddingBottom="@dimen/design_navigation_separator_vertical_padding" /> 
+3

Dies funktioniert nicht –

+0

@headsvk Danke. Die Antwort wurde aktualisiert –

+0

Arbeitete wie ein Charme. Danke – Krishna

42

Sie vordefinierten Dimensionen wie bei Ihrer dimens.xml außer Kraft setzen kann;

<dimen name="design_navigation_padding_top_default" tools:override="true">0dp</dimen> 
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen> 
<dimen name="design_navigation_padding_bottom" tools:override="true">0dp</dimen> 

Andere mögliche Werte sind hier: https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml

+0

Ich aktualisierte meine Antwort mit dem Quellcode url –

+0

@ Uğur Tılıkoğlu Danke Man Sie lösen mein Problem –

+0

@nightfixed funktioniert nicht in meinem! –

Verwandte Themen