support last cardview android material-design android-support-library android-design-library navigationview

cardview - com.android.support:appcompat-v7 last version



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

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

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

Solo dimens.xml a tu dimens.xml :

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

Advertencia:

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

El NavigationView utiliza un LinearLayout como vista de encabezado. Puedes ver este diseño en el código fuente:

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

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

¿Cómo se puede quitar?

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



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

<item name="listPreferredItemHeightSmall">18dp</item>


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