首页 > 解决方案 > 将边距设置为导航抽屉中的菜单项,但不设置标题部分

问题描述

我有 NavigationDrawerActivity。我想为菜单项设置左边距。

我试过这样。

<style name="NavigationDrawerStyle" parent="AppTheme">
   <item name="android:layout_marginLeft">@dimen/dimen20dp</item>
</style>

并将此样式应用于NavigationView. 左边距设置为标题部分和列表。我希望它仅适用于列表。

标签: androidandroid-navigationviewmaterial-componentsmaterial-components-android

解决方案


用于app:itemIconPadding更改图标和文本之间的边距

<com.google.android.material.navigation.NavigationView
    app:itemIconPadding="xxdp"
    ..>

在此处输入图像描述

使用app:itemHorizontalPadding更改图标前的填充:

<com.google.android.material.navigation.NavigationView
    app:itemHorizontalPadding="0dp"
    />

在此处输入图像描述

用于app:itemShapeInsetStart更改形状的填充

<com.google.android.material.navigation.NavigationView
    app:itemShapeInsetStart="0dp"
    />

在此处输入图像描述

您还可以使用自定义样式:

  <style name="CustomNavigationView" parent="Widget.MaterialComponents.NavigationView">
       <item name="itemIconPadding">@dimen/.....</item>
       <item name="itemHorizontalPadding">@dimen/....</item>
       <item name="itemShapeInsetStart">@dimen/..../item>
  </style>

推荐阅读