24

C'è un riempimento superiore non necessario tra l'intestazione e il primo elemento mostrato in questa immagine.Come posso rimuovere il riempimento superiore non necessario della vista di navigazione?

enter image description here

Come può essere rimosso?

è possibile trovare il codice sorgente qui: https://github.com/chrisbanes/cheesesquare

+1

Solo nel caso in cui si pensa che è un errore, non lo è, anzi è parte delle Linee guida di progettazione dei materiali. http://www.google.com/design/spec/components/lists.html#lists-specs Dovrebbe esserci, stai cercando di mantenere lo standard google. È imbottitura 8dp. –

+0

Non intendo l'intestazione, so che è una linea guida. quello che intendevo è il padding superiore tra il primo elemento e l'intestazione. –

+3

Sì, lo so. Questo dovrebbe essere lì. fa parte delle linee guida. Dai un'occhiata all'immagine qui. C'è un seperatore 8dp. Ed è in tutte le ultime app Google per materiale. http://material-design.storage.googleapis.com/publish/material_v_4/material_ext_publish/0Bx4BSt6jniD7eUpZcXJRODJvMXc/components_lists_keylines_single5.png –

risposta

13

NavigationView cerca di abbinare il disegno materiale specs for the navigation drawer quale stato uno spazio 8DP tra le aree di contenuto. Generalmente non ci sono modi per ignorare lo NavigationView per spezzare in modo specifico le specifiche.

material design specs

+0

È possibile sovrascrivere questo valore facilmente. Può essere che questo padding possa essere aggiunto programmaticamente per evitare questo caso. –

25

si dovrebbe leggere la risposta di Ian. NavigationView segue le linee guida sul materiale e non si dovrebbero rompere queste specifiche.

Tuttavia, attualmente, è possibile sovrascrivere questo valore nel progetto.

è sufficiente aggiungere al vostro dimens.xml:

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

Attenzione:

  • in futuro il team di Android può cambiare questo valore!
  • lo stesso valore viene applicato a ciascun elemento separatore nell'elenco

Il NavigationView utilizza un LinearLayout come vista intestazione. Si può vedere questo layout nel codice sorgente:

<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

Questo non funziona –

+0

@headsvk Grazie. Aggiornato la risposta –

+0

ha funzionato come un fascino. Grazie – Krishna

42

è possibile ignorare le dimensioni predefinite a vostra dimens.xml come;

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

Altri possibili valori sono qui: https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml

+0

ho aggiornato la mia risposta con l'url del codice sorgente –

+0

@ Uğur Tılıkoğlu Grazie Man tu risolvi il mio problema –

+0

@nightfixed non funziona nel mio! –