如何更改NavigationView中的分隔符颜色?

我试图使用NavigationView来实现NavigationDrawer。 我已经通过在菜单中设置组ID来添加分隔符。 但是我看不到分隔符。 我想这是因为分隔符的颜色和背景一样。 所以我想改变分隔符的颜色。 但我找不到改变它的方法。 谁能帮我?

在屏幕截图中, HistorySettings之间似乎有一个分隔符,但是看不到它。

在这里输入图像说明

activity_main.xml中

 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:fitsSystemWindows="true" tools:context=".ui.MapActivity"> <LinearLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <include layout="@layout/toolbar_actionbar" /> <!--main content--> </LinearLayout> <android.support.design.widget.NavigationView android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/navdrawer_background" app:insetForeground="#4000" app:itemTextColor="@color/navdrawer_item_text_color" app:itemIconTint="@color/navdrawer_item_icon_tint" app:headerLayout="@layout/drawer_header" app:menu="@menu/drawer"/> </android.support.v4.widget.DrawerLayout> 

drawer.xml

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/group_feature" android:checkableBehavior="single"> <item android:id="@+id/navdrawer_item_map" android:checked="true" android:icon="@drawable/ic_drawer_map" android:title="@string/navdrawer_item_map"/> <item android:id="@+id/navdrawer_item_favourite" android:icon="@drawable/ic_drawer_fav" android:title="@string/navdrawer_item_fav"/> <item android:id="@+id/navdrawer_item_history" android:icon="@drawable/ic_drawer_history" android:title="@string/navdrawer_item_history"/> </group> <group android:id="@+id/group_settings" android:checkableBehavior="single"> <item android:id="@+id/navdrawer_item_settings" android:icon="@drawable/ic_drawer_settings" android:title="@string/navdrawer_item_settings"/> <item android:id="@+id/navdrawer_item_help" android:icon="@drawable/ic_drawer_help" android:title="@string/navdrawer_item_help"/> <item android:id="@+id/navdrawer_item_about" android:icon="@drawable/ic_drawer_about" android:title="@string/navdrawer_item_about"/> </group> </menu> 

Solutions Collecting From Web of "如何更改NavigationView中的分隔符颜色?"

只需在style.xml中应用以下行

 <item name="android:listDivider">your_color</item> 

下面只是您的知识信息…如果您已经看到了devise支持库..他们正在使用NavigationView分页器的以下布局..

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="?android:attr/listDivider"/> </FrameLayout> 

在这里,你可以看到android:background =“?android:attr / listDivider” ..所以享受…这里是我的输出,我改变颜色holo_blue 在这里输入图像说明

这里是使用菜单作为视图的最好和简单的方法

 <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:theme="@style/ThemeToolbar.NavigationView" app:itemTextColor="@color/white" app:itemIconTint="@color/white" app:headerLayout="@layout/activity_home_nav_header" app:menu="@menu/activity_home_drawer" /> 

ThemeToolbar.NavigatinoView

  <style name="ThemeToolbar.NavigationView" > <item name="android:listDivider">@color/white</item> <item name="android:textColorSecondary">@color/white</item> </style> 

在这里输入图像说明

是的,你必须添加空白标题作为分隔符。

喜欢

 <group android:id="@+id/my_id"> <!-- Divider will appear above this item --> <item ... /> </group> 

原来的答案

 <!-- 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> <item name="android:textColorPrimary">@color/menu_text_color</item> <item name="android:textColorSecondary">@color/menu_text_color</item> </style> 

textColorPrimary改变标题的颜色。

Perfeita resposta

在这里输入图像说明

 <android.support.design.widget.NavigationView android:id="@+id/activity_principal_nav_view" android:layout_width="@dimen/size_230" android:layout_height="match_parent" android:layout_gravity="start" android:background="@color/black" android:fitsSystemWindows="true" app:insetForeground="@color/white" app:menu="@menu/settings_menu" app:itemTextColor="@color/white" app:itemIconTint="@color/white" app:headerLayout="@layout/settings_menu_header" android:theme="@style/NavigationDrawerStyle"/>