Android中的NavigationView项目填充

时间:2017-09-29 04:40:32

标签: android navigationview

如何为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 个答案:

答案 0 :(得分:1)

您可以更改“ 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)

答案 1 :(得分:0)

您可以在res-&gt; values-&gt;尺寸文件夹下添加此值离子尺寸文件,并添加以下代码行。

<dimen name="design_navigation_icon_padding" tools:override="true">8dp</dimen>

答案 2 :(得分:0)

如果任何人想使用最新的材质设计来调整NavigationDrawer中项目的填充,请签出这些新属性 app:itemIconPadding app:itemHorizo​​ntalPadding 。< / p>

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" />`

答案 3 :(得分:0)

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

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

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

enter image description here enter image description here

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

enter image description here