我需要在Navigation Drawer
菜单项之间添加分隔符。
NavigationDrawer
的代码
<android.support.design.widget.NavigationView
android:id="@+id/navigationView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/colorPrimary"
android:fitsSystemWindows="true"
android:theme="@style/NavigationTheme"
custom:headerLayout="@layout/drawer_header"
custom:menu="@menu/drawer_view" />
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/com_mixpanel_android_ic_bell"
android:title="@string/home" />
<item> </item>
.....
</group>
</menu>
<style name="NavigationTheme" parent="ThemeOverlay.AppCompat.Dark">
<item name="colorControlHighlight">@color/colorAccent</item>
</style>
如何在两个menu_items
?
答案 0 :(得分:4)
解决方案很简单 - 将项目分成不同的组(组必须分配不同的,唯一ID )。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/group1"
android:checkableBehavior="single">
<item>(...)</item>
</group>
<group
android:id="@+id/group2"
android:checkableBehavior="single">
<item>(...)</item>
</group>
</menu>
<小时/> 修改强>
在您的情况下,当您需要删除此填充时,有两种解决方案:
请勿使用custom:menu
,使用适配器创建ListView
并为ListView
设置并添加
android:divider="#FFFFFF"
android:dividerHeight="1px"
此解决方案可能无效,因为Android平台开发人员可以更改参数:
将以下行添加到dimens.xml
<dimen name="design_navigation_padding_top_default" tools:override="true">0dp</dimen>
<dimen name="design_navigation_separator_vertical_padding" tools:override="true">0dp</dimen>
<dimen name="design_navigation_padding_bottom" tools:override="true">0dp</dimen>
或
<dimen name="navigation_separator_vertical_padding">0dp</dimen>