具有多个组的 NavigationView 根据条件隐藏和显示组
NavigationView with multiple group hide & show group based on Condition
我 NavigationView
有多个群组,这是基于我需要隐藏和显示群组的某些条件。我该如何实现。
我的示例NavigationView
菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single"
android:id="@+id/grp_employee"
>
<item
android:id="@+id/help"
android:checked="false"
android:icon="@drawable/ic_help"
android:title="@string/app_name" />
.......
</group>
<group android:checkableBehavior="single"
android:id="@+id/grp_admin"
>
<item
android:id="@+id/admin_help"
android:checked="false"
android:icon="@drawable/ic_help"
android:title="@string/app_name" />
.......
</group>
<group> ... </group>
</menu>
这是我的 NavigationView 文件。我只想一次只显示一个组视图隐藏所有其他组。
嗯,您可以使用 Menu.setGroupVisible (int group, boolean visible)
来隐藏或显示菜单组。
navigationView.getMenu().setGroupVisible(R.id.group_id,false);//to hide
navigationView.getMenu().setGroupVisible(R.id.group_id,true);//to show
您可以检查组中其中一项的可见性,结果等于组可见性。
例如,通过以下行检查 admin_help
可见性:
navigationView.getMenu().findItem(R.id.admin_help).isVisible()
结果与检查 grp_admin
可见性相同
我 NavigationView
有多个群组,这是基于我需要隐藏和显示群组的某些条件。我该如何实现。
我的示例NavigationView
菜单
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single"
android:id="@+id/grp_employee"
>
<item
android:id="@+id/help"
android:checked="false"
android:icon="@drawable/ic_help"
android:title="@string/app_name" />
.......
</group>
<group android:checkableBehavior="single"
android:id="@+id/grp_admin"
>
<item
android:id="@+id/admin_help"
android:checked="false"
android:icon="@drawable/ic_help"
android:title="@string/app_name" />
.......
</group>
<group> ... </group>
</menu>
这是我的 NavigationView 文件。我只想一次只显示一个组视图隐藏所有其他组。
嗯,您可以使用 Menu.setGroupVisible (int group, boolean visible)
来隐藏或显示菜单组。
navigationView.getMenu().setGroupVisible(R.id.group_id,false);//to hide
navigationView.getMenu().setGroupVisible(R.id.group_id,true);//to show
您可以检查组中其中一项的可见性,结果等于组可见性。
例如,通过以下行检查 admin_help
可见性:
navigationView.getMenu().findItem(R.id.admin_help).isVisible()
结果与检查 grp_admin
可见性相同