web-dev-qa-db-fra.com

Comment supprimer le rembourrage supérieur inutile de la vue Navigation?

Il y a un remplissage supérieur inutile entre l'en-tête et le premier élément montré dans cette image.

enter image description here

Comment le retirer?

vous pouvez trouver le code source ici: https://github.com/chrisbanes/cheesesquare

28
Ahmed Talaat

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.

material design specs

16
ianhanniballake

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

53
Uğur Tılıkoğlu

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:

  • à l'avenir, l'équipe Android peut modifier cette valeur!
  • la même valeur est appliquée à chaque séparateur de la liste

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" />
29
Gabriele Mariotti

étape très simple: ajoutez l'attribut suivant à votre thème d'application de base (stylename = AppTheme) Style.xml:

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