6

如何为 NavigationView 中的项目设置填充。我需要为项目设置 paddingLeft,因为我已经删除了图标。我尝试过的是这样,但它不起作用:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<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"
    android:focusable="true"
    android:foreground="?attr/selectableItemBackground"
    app:headerLayout="@layout/nav_header_navigation_drawer"
    app:itemBackground="@drawable/selected_background"
    app:itemTextAppearance="@style/Drawer"
    app:menu="@menu/activity_navigation_drawer_drawer" />

我的 Drawer.xml 文件的样式:

<style name="Drawer">
    <item name="android:listPreferredItemPaddingLeft">50dp</item>
    <item name="android:textSize">30sp</item>
    <item name="android:typeface">serif</item>
</style>
4

4 回答 4

7

如果有人想使用最新的材料设计调整 NavigationDrawer 中项目的填充,请检查这些新属性app:itemIconPaddingapp:itemHorizo​​ntalPadding

app:itemIconPadding将调整您的图标和项目文本之间的填充 app:itemHorizo​​ntalPadding,顾名思义,将从左右水平调整项目的填充。

<com.google.android.material.navigation.NavigationView
            android:id="@+id/nav_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"

            app:itemIconPadding="16dp"
            app:itemHorizontalPadding="10dp"

            app:menu="@menu/nav_drawer_menu" />`
于 2019-07-02T07:43:49.590 回答
4

您可以更改“listPreferredItemHeightSmall”值以更改应用程序主题中的导航项垂直填充

<!-- Your application theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <!-- THIS LINE-->
    <item name="listPreferredItemHeightSmall">54dp</item>
</style>

(默认值为 48dp)

于 2020-03-19T23:04:58.980 回答
4

由于您使用的是没有图标的菜单,因此您可以使用以下app:itemHorizontalPadding属性:

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

具有默认值和自定义值的结果:

在此处输入图像描述 在此处输入图像描述

使用app:itemShapeInsetStart="0dp"更改形状的边距:

在此处输入图像描述

于 2019-10-13T20:59:10.533 回答
0

您可以在 res->values->dimension 文件夹下添加这个值离子维度文件,并添加以下代码行。

<dimen name="design_navigation_icon_padding" tools:override="true">8dp</dimen>
于 2017-09-29T05:19:18.153 回答