2017-06-21 123 views
-1

我有一个抽屉菜单的应用程序。应用程序架构需要动态创建菜单项,因此它们可以根据数学设计标准进行查找。如何自定义动态创建的抽屉菜单?

这是创建菜单的代码。

 private void formMainMenu() { 
     itemsByGroups = getMenuItemGroups(); 
     Menu menu = navigationView.getMenu(); 
     int groupId = 0; 
     for (Map.Entry<String, List<MainMenuUser>> entry : itemsByGroups.entrySet()) { 
      if (!entry.getKey().equals(MainMenuGroup.TOP.toString()) && 
        !entry.getKey().equals(MainMenuGroup.BOTTOM.toString())) { 
       createSubmenu(menu, groupId, entry); 
      } else { 
       createMenuItem(menu, groupId, entry); 
      } 
      groupId++; 
     } 
    } 

    private void createSubmenu(Menu menu, int groupId, Map.Entry<String, List<MainMenuUser>> entry) { 
     String subMenuHeader = entry.getKey(); 
     SubMenu subMenu = menu.addSubMenu(groupId, Menu.NONE, Menu.NONE, subMenuHeader); 

     List<MainMenuUser> menuUsers = entry.getValue(); 
     for (int i = 0; i < menuUsers.size(); i++) { 
      int order = menuUsers.get(i).getMainMenuPositionOrder(); 
      int titleId = menuUsers.get(i).getMainMenuItem().getTitleId(); 
      if (menuUsers.get(i).isEnableNow(BaseApp.getApp().getSdkConfig().getSupportedFunctionality())) { 
       subMenu.add(groupId, i, order, titleId); 
      } 
     } 
    } 

    private void createMenuItem(Menu menu, int groupId, Map.Entry<String, List<MainMenuUser>> entry) { 

     List<MainMenuUser> menuUsers = entry.getValue(); 
     for (int i = 0; i < menuUsers.size(); i++) { 
      if (menuUsers.get(i).isEnableNow(BaseApp.getApp().getSdkConfig().getSupportedFunctionality())) { 
       menu.add(groupId, i, Menu.NONE, menuUsers.get(i).getMainMenuItem().getTitleId()); 
      } 
     } 
    } 

这就是它的样子。

enter image description here

我的问题。根据产品风格,可以使用样式自定义标题和项目的方式是什么,以便能够改变抽屉的外观?

+1

嘿嘿这是1.000.000th问题标签'android' ...现在你应该尝试你的彩票好运;-) – pskink

回答

1

我认为在那里使用ListView或RecylerView会更容易。

This question可能会给你一些见解如何做到这一点。

+0

奥贡,二元组,雅兹tozhe v hnure uchus! –