2

J'utilise un menu personnalisé dans un tiroir de navigation. Je voudrais seulement réduire la marge de gauche des éléments de menu et déplacer la vue de l'image un peu plus près de la marge (vers la gauche). J'ai déjà modifié la cote pour réduire la marge du bas et déplacer la vue de l'image et la vue du texte.Réduire la marge de gauche pour l'élément de menu du tiroir de navigation?

<!-- Override the private variables in navigation drawer--> 
    <dimen name="design_navigation_icon_size">45dp</dimen> 
    <dimen name="design_navigation_icon_padding">5dp</dimen> 
    <dimen name="design_navigation_separator_vertical_padding">0dp</dimen> 
    <dimen name="design_navigation_seperator_left_margin">0dp</dimen> 

enter image description here

Je voudrais seulement réduire l'espace de 16DP pour l'image. Y a-t-il une variable de dimension qui peut être surchargée pour le faire?

NavigatonView:

<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     app:headerLayout="@layout/nav_header_main" 
     app:itemIconTint="@null" 
     app:menu="@menu/activity_main_drawer" 
     app:itemTextAppearance="@style/NavigationDrawerStyle"> 

J'ai ajouté

tools:override="true" 

dans le DrawerLayout.

Le menu_drawer ressemble à ceci:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

    <group android:id="@+id/grp1" android:checkableBehavior="single"> 
     <item 
      android:id="@+id/navigation_item_1" 
      android:icon="@drawable/menu_home_unselected" 
      android:title="Home" /> 
    </group> 

    <group android:id="@+id/grp2" android:checkableBehavior="single" > 
     <item 
      android:id="@+id/navigation_item_2" 
      android:icon="@drawable/menu_identify" 
      android:title="Identity" /> 
    </group> 

    <group android:id="@+id/grp3" android:checkableBehavior="single" > 
     <item 
      android:id="@+id/navigation_item_3" 
      android:icon="@drawable/menu_self_disclosure" 
      android:title="Disclosure" /> 
    </group> 
</menu> 
+1

Pouvez-vous montrer les fichiers xml pertinents, le plus important les vues de tiroir/navigation. – Vucko

+0

Il est mis à jour dans la question maintenant. –

+0

@USKMobility: La question que vous avez partagée réduit l'espacement en bas entre les éléments du menu. Je cherche à réduire l'espace entre la marge de gauche et l'élément de menu. J'ai également ajouté les changements de dimension mentionnés dans ma question. J'ai le ' 18dp' dans mon fichier de styles aussi. –

Répondre

3

Utilisez cette

<android.support.design.internal.NavigationMenuItemView 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/listPreferredItemHeightSmall" 
     android:paddingLeft="?attr/listPreferredItemPaddingLeft" 
     android:paddingRight="?attr/listPreferredItemPaddingRight" 
     android:foreground="?attr/selectableItemBackground" 
android:focusable="true"/> 

Remplacer la propriété listPreferredItemPaddingLeft

<!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 

     <!-- HERE--> 
     <item name="listPreferredItemPaddingLeft">18dp</item> 
    </style> 

set listPreferredItemPaddingLeft au besoin.