Android支持:设计NavigationView选中的菜单子项

Android支持:设计NavigationView选中的菜单子项,第1张

概述我最近开始转换我的 Android应用程序以使用名为support:design的最新支持库. 在实现新的NavigationView时,我偶然发现了显示所选菜单项的问题. 我的navdrawer_menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"><group android:checkableBe 我最近开始转换我的 Android应用程序以使用名为support:design的最新支持库.

在实现新的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选中的菜单子项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1134841.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存