2017-06-21 60 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! –