Android 如何自定义动态创建的抽屉菜单?

Android 如何自定义动态创建的抽屉菜单?,android,android-styles,navigationview,Android,Android Styles,Navigationview,我有一个带抽屉菜单的应用程序。应用程序体系结构要求动态创建菜单项,因此它们看起来符合数学设计标准 这是创建菜单的代码 private void formMainMenu() { itemsByGroups = getMenuItemGroups(); Menu menu = navigationView.getMenu(); int groupId = 0; for (Map.Entry<String, List&l

我有一个带抽屉菜单的应用程序。应用程序体系结构要求动态创建菜单项,因此它们看起来符合数学设计标准

这是创建菜单的代码

     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());
            }
        }
    }
private void formmain菜单(){
itemsByGroups=getMenuItemGroups();
Menu Menu=navigationView.getMenu();
int-groupId=0;
对于(Map.Entry:itemsByGroups.entrySet()){
如果(!entry.getKey().equals(MainMenuGroup.TOP.toString())&&
!entry.getKey().equals(MainMenuGroup.BOTTOM.toString()){
创建子菜单(菜单、组ID、条目);
}否则{
createMenuItem(菜单、组ID、条目);
}
groupId++;
}
}
private void createSubmenu(菜单菜单、int-groupId、映射条目){
String submonuHeader=entry.getKey();
子菜单子菜单=menu.addSubMenu(组ID、menu.NONE、menu.NONE、subMenuHeader);
List menuUsers=entry.getValue();
对于(int i=0;i
这就是它的样子


我的问题。使用样式定制标题和项目的方法是什么,也许可以根据产品的口味改变抽屉的外观?

我认为使用列表视图或RecylerView会更容易


可能会给你一些如何做的见解

呵呵,这是第1.000.000个问题,标记为
android
。。。现在你应该在彩票上试试运气;-)Ogon,dyad,你是一个伟大的人!