¿Cómo puedo eliminar el relleno superior innecesario de la vista de navegación?

Hay un relleno superior innecesario entre el encabezado y el primer elemento que se muestra en esta imagen.

enter image description here

¿Cómo se puede eliminar?

puedes encontrar el código fuente aquí: https://github.com/chrisbanes/cheesesquare

NavigationView busca hacer coincidir las especificaciones de diseño del material para el cajón de navegación que establecen un espacio de 8dp entre las áreas de contenido. En general, no hay formas de anular NavigationView para romper específicamente las especificaciones.

especificaciones de diseño de materiales

Puede anular dimensiones predefinidas en su dimens.xml como;

 0dp 0dp 0dp 

Otros valores posibles están aquí: https://github.com/android/platform_frameworks_support/blob/master/design/res/values/dimens.xml

Deberías leer la respuesta de Ian. NavigationView sigue las pautas del material y no debe romper estas especificaciones.

Sin embargo, actualmente , puede anular este valor en su proyecto.

Solo agregue a su dimens.xml :

 0dp 

Advertencia:

  • ¡en el futuro, el equipo de Android puede cambiar este valor!
  • el mismo valor se aplica a cada separador en la lista

NavigationView usa LinearLayout como vista de encabezado. Puede ver este diseño en el código fuente:

  

paso muy simple: agregue el siguiente atributo a su tema de aplicación base (stylename = AppTheme) Style.xml:

  18dp