如何修改NavigationView分组菜单项的分隔线颜色?
针对迁移至Material3后NavigationView分组菜单项分隔线颜色不符合需求的问题,有两种简单的解决方式:
方法一:直接在布局中指定分隔线颜色
在你的MainActivity布局文件里,给NavigationView添加app:dividerColor属性,直接设置目标颜色:
<com.google.android.material.navigation.NavigationView android:id="@+id/navigation" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:drawerLayoutCornerSize="0dp" app:dividerInsetStart="0dp" app:dividerInsetEnd="0dp" app:menu="@menu/menu_navigation" app:layout_constraintStart_toStartOf="parent" android:background="@android:color/white" app:headerLayout="@layout/nav_header_view" <!-- 添加这行设置分隔线颜色 --> app:dividerColor="@color/your_custom_color" />
将@color/your_custom_color替换为你定义的颜色资源(比如@color/grey_200或者直接用颜色值#FFCCCCCC)。
方法二:通过主题全局设置分隔线颜色
如果需要让所有NavigationView的分隔线颜色统一,可在themes.xml的AppTheme中添加主题属性:
<style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar"> <!-- 添加这行全局设置NavigationView分隔线颜色 --> <item name="navigationViewDividerColor">@color/your_custom_color</item> </style>
这样所有使用该主题的NavigationView都会自动应用这个分隔线颜色。
内容的提问来源于stack exchange,提问作者Jim Clermonts
相关产品推荐
相关产品推荐

