Android NavigationView菜单组分隔符[重复]
Posted
技术标签:
【中文标题】Android NavigationView菜单组分隔符[重复]【英文标题】:Android NavigationView menu group divider [duplicate] 【发布时间】:2015-09-04 04:27:12 【问题描述】:android 支持设计库提供 NavigationView:
<android.support.design.widget.NavigationView
...
app:menu="@menu/navigation_drawer_items" />
菜单/navigation_drawer_items:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item .../>
...
</group>
<group android:checkableBehavior="single">
<item .../>
...
</group>
</menu>
如何在组之间添加分隔符、分隔符或空格(如图所示)?
【问题讨论】:
添加只需给每个组一个唯一的ID。它会自动创建一个分隔符。
<?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"/>
</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"/>
</group>
</menu>
【讨论】:
你能告诉我如何给这条线添加颜色 如果您在不同的布局文件中有组,这似乎不起作用。 @YaseenAhmad ***.com/a/30731387/3544839 改变颜色 创建组对我不起作用。我确实发现这种样式你做这样的事情。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_dashboard"
android:title="Home" />
<item
android:id="@+id/nav_messages"
android:icon="@drawable/ic_event"
android:title="Messages" />
<item
android:id="@+id/nav_friends"
android:icon="@drawable/ic_headset"
android:title="Friends" />
<item
android:id="@+id/nav_discussion"
android:icon="@drawable/ic_forum"
android:title="Discussion" />
</group>
<item android:title="Sub items">
<menu>
<item
android:icon="@drawable/ic_dashboard"
android:title="Sub item 1" />
<item
android:icon="@drawable/ic_forum"
android:title="Sub item 2" />
</menu>
</item>
</menu>
此代码取自 Chris Barnes https://github.com/chrisbanes/cheesesquare 制作的设计库示例应用程序
【讨论】:
您的解决方案有效并且它添加了字幕,这很好,但问题只是关于分隔符。如果我省略标题,则有分隔线,但也有空格应该是标题。 你不需要标题,你所要做的就是给项目一个id @Shaddow 看到这个问题***.com/questions/30790420/… 第二部分的项目不会被此解决方案选中【参考方案3】:我是这样用的:
<group
android:id="@+id/group1"
android:checkableBehavior="single">
<item
android:id="@+id/menu1"
android:icon="@drawable/somedrawable"
android:title="Lorem ipsum" />
</group>
<group
android:id="@+id/group2"
android:checkableBehavior="single">
<item
android:id="@+id/menu2"
android:icon="@drawable/somedrawable"
android:title="Dolor it amet" />
</group>
ID 很重要(+id/group1 和 +id/group2)。没有 ID,您将看不到分隔符。它在我的应用程序中运行。
【讨论】:
【参考方案4】:NavigationMenuList 中的分隔符使用对菜单项进行分组来实现,但请确保您提供了必要的组 ID @+id。 下面是为您工作的代码
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/gp_one"
android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_avatar"
android:title="Home" />
</group>
<group
android:id="@+id/gp_two"
android:checkableBehavior="single">
<item
android:id="@+id/nav_account"
android:icon="@drawable/ic_avatar"
android:title="My Account" />
<item
android:id="@+id/nav_orders"
android:icon="@drawable/ic_avatar"
android:title="My Orders" />
<item
android:id="@+id/nav_wishlist"
android:icon="@drawable/ic_avatar"
android:title="My Wishlist" />
</group>
<group
android:id="@+id/gp_three"
android:checkableBehavior="single">
<item
android:id="@+id/nav_rateus"
android:icon="@drawable/ic_avatar"
android:title="Rate Us" />
<item
android:id="@+id/nav_share"
android:icon="@drawable/ic_avatar"
android:title="Share" />
<item
android:id="@+id/nav_logout"
android:icon="@drawable/ic_avatar"
android:title="Logout" />
</group>
【讨论】:
对于分隔器,我们必须将它们分成不同的组?其实我用的是BottomNavigationView
【参考方案5】:
您可以在<item android:title="title_name">
和</item>
之间添加文本
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_display_image"
android:title="Load Image"
android:icon="@drawable/ic_menu_gallery"
app:showAsAction="always"
app:actionLayout="@layout/switch_nav_drawer"/>
<item
android:id="@+id/nav_camera"
android:icon="@drawable/ic_menu_camera"
android:title="Saved News" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="Slideshow" />
</group>
<item android:title="Settings">
<menu>
<item
android:id="@+id/nav_manage"
android:icon="@drawable/ic_menu_manage"
android:title="Tools" />
</menu>
</item>
<item
android:id="@+id/about_us"
android:icon="@drawable/ic_info_black_24dp"
android:title="About Us"></item>
</menu>
【讨论】:
以上是关于Android NavigationView菜单组分隔符[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Android Design Support Library用NavigationView实现抽屉菜单界面
更改 navigationView 的单个特定菜单项的背景颜色
继续滑动菜单的完善,NavigationView,图片圆形化-CircleImageView