
在实现新的NavigationVIEw时,我偶然发现了显示所选菜单项的问题.
我的navdrawer_menu.xml
<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"><group androID:checkableBehavior="single"> <item androID:ID="@+ID/navigation_item_home" androID:icon="@drawable/ic_home_black" androID:title="@string/navdrawer_item_home" /></group> <item androID:ID="@+ID/navigation_subheader" androID:title="@string/navdrawer_subheader_Title1"> <menu> <group androID:checkableBehavior="single"> <item androID:ID="@+ID/navigation_sub_item1" androID:icon="@drawable/ic_home_black" androID:title="@string/navdrawer_sub_item1" /> </group> </menu> </item></menu>
接下来,我将菜单项设置为onNavigationItemSelected:
@OverrIDepublic boolean onNavigationItemSelected(final MenuItem menuItem) { menuItem.setChecked(true); drawerLayout.closeDrawer(GravityCompat.START); mDrawerActionHandler.postDelayed(new Runnable() { @OverrIDe public voID run() { displayVIEw(menuItem.getItemID()); } },DRAWER_CLOSE_DELAY_MS); return true;} 如果我只在标签之间使用普通菜单项,但这对于子标题不起作用,那么这种方法很有用.点击子项目不会设置它们检查,直到我点击相同的项目两次,它不会取消选中之前检查的任何项目.
最终看起来像这样:
解决方法 每个项目都必须在一个组内,因此该组可以控制该项目在用户选择时的视觉行为.试试吧:<menu xmlns:androID="http://schemas.androID.com/apk/res/androID"><group androID:checkableBehavior="single"> <item androID:ID="@+ID/navigation_item_home" androID:icon="@drawable/ic_home_black" androID:title="@string/navdrawer_item_home" /> <item androID:ID="@+ID/navigation_subheader" androID:title="@string/navdrawer_subheader_Title1"> <menu> <group androID:checkableBehavior="single"> <item androID:ID="@+ID/navigation_sub_item1" androID:icon="@drawable/ic_home_black" androID:title="@string/navdrawer_sub_item1" /> </group> </menu> </item></group></menu>总结
以上是内存溢出为你收集整理的Android支持:设计NavigationView选中的菜单子项全部内容,希望文章能够帮你解决Android支持:设计NavigationView选中的菜单子项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)