Il y a un remplissage supérieur inutile entre l'en-tête et le premier élément montré dans cette image.
Comment le retirer?
vous pouvez trouver le code source ici: https://github.com/chrisbanes/cheesesquare
NavigationView
cherche à faire correspondre la conception matérielle spécifications pour le tiroir de navigation qui indique un espace de 8dp entre les zones de contenu. En règle générale, il n'existe aucun moyen de remplacer NavigationView
pour rompre spécifiquement les spécifications.
Vous pouvez remplacer les dimensions prédéfinies sur votre dimens.xml
as;
<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>
D'autres valeurs possibles sont ici: https://github.com/Android/platform_frameworks_support/blob/master/design/res/values/dimens.xml
Vous devriez lire la réponse d'Ian. La NavigationView suit les directives relatives aux matériaux et vous ne devez pas casser ces spécifications.
Cependant, actuellement, vous pouvez remplacer cette valeur dans votre projet.
Ajoutez simplement à votre dimens.xml
:
<dimen name="design_navigation_separator_vertical_padding">0dp</dimen>
Avertissement:
NavigationView
utilise un LinearLayout
comme vue d'en-tête. Vous pouvez voir cette disposition dans le code source:
<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" />
étape très simple: ajoutez l'attribut suivant à votre thème d'application de base (stylename = AppTheme) Style.xml:
<item name="listPreferredItemHeightSmall">18dp</item>