一个导航抽屉中的多个菜单

时间:2019-03-04 08:07:02

标签: android navigation-drawer

我正在尝试为不同的用户(来宾,会员,管理员)创建一个Android应用程序。我在我的应用程序中使用导航抽屉。我想知道是否可以为每个用户创建一个菜单。

示例:

来宾菜单可以包含三个项目:登录,注册,联系我们。

成员菜单可以具有不同的项目:个人资料,注销。

“管理”菜单可以包含:管理帐户,添加新成员。

我希望所有这些xml菜单都在一个导航抽屉活动中。我想根据用户的状态更改它们。可以这样做吗?

2 个答案:

答案 0 :(得分:0)

您可以在这里在字符串数组中为Guest,Member,Admin创建2个不同的数组,也可以通过arrayList进行创建。像guestMenuList,memberMenuList,adminMenuList

像这样在您的活动中添加条件

if(isGuest){

   arrayList =  guestMenuList

}else if(isMember){

   arrayList =  memberMenuList

}else if(){

   arrayList =  adminMenuList

}

并将此列表附加到抽屉式适配器中。

答案 1 :(得分:0)

是的,您可以为特定用户创建每个菜单。例如,如果您具有以下菜单:guest_menumember_menuadmin_menu。您可以轻松地通过以下菜单使用菜单:

// clear previous menu
navigationView.getMenu().clear();

switch (id) {
  case guest:
    navigationView.inflateMenu(R.menu.guest_menu);
    break;
  case member:
   navigationView.inflateMenu(R.menu.member_menu);
   break;
  case admin:
   navigationView.inflateMenu(R.menu.admin_menu);
   break;

}