减少导航抽屉菜单项的左边距?
Reduce left margin for menu item of Navigation drawer?
我在导航抽屉中使用自定义菜单。我只想减少菜单项的左边距,并将图像视图稍微靠近边距(向左)。我已经更改尺寸以减少底部边距并移动图像视图和文本视图。
<!-- 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>
我只想减少图片的 16dp space。是否有任何可以覆盖的维度变量来执行此操作?
导航视图:
<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">
我已经添加了
tools:override="true"
在 DrawerLayout 中。
menu_drawer 看起来像这样:
<?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>
使用这个
<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"/>
覆盖 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>
根据需要设置 listPreferredItemPaddingLeft。
我在导航抽屉中使用自定义菜单。我只想减少菜单项的左边距,并将图像视图稍微靠近边距(向左)。我已经更改尺寸以减少底部边距并移动图像视图和文本视图。
<!-- 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>
我只想减少图片的 16dp space。是否有任何可以覆盖的维度变量来执行此操作?
导航视图:
<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">
我已经添加了
tools:override="true"
在 DrawerLayout 中。
menu_drawer 看起来像这样:
<?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>
使用这个
<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"/>
覆盖 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>
根据需要设置 listPreferredItemPaddingLeft。