如何以编程方式设置 Android 中 Navigation Drawer 菜单项的图标和标题之间的边距?

How to programmatically set the margin between icon and title of menu item of Navigation Drawer in Android?

我正在开发 Android 应用程序。在我的应用程序中,我正在使用导航抽屉和导航视图。但是我以编程方式为他们设置菜单项。对于菜单项,我同时设置了图标和标题。但我对此有疑问。那就是我无法设置以编程方式添加到菜单的图标和标题之间的间距。

这就是我以编程方式将项目添加到菜单的方式

Menu menu = leftDrawer.getMenu();
        SubMenu subMenu = menu.addSubMenu(MAIN_MENU_ITEM_GROUP_ID, 99, 99, "Others");

        subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Monthly Leaderboard").setIcon(R.drawable.leaderboard_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                startActivity(new Intent(MainActivity.this, LeaderboardActivity.class));
                return false;
            }
        });

        subMenu.add(MAIN_MENU_ITEM_GROUP_ID,96,96,"Settings").setIcon(R.drawable.settings_icon).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                startActivity(new Intent(MainActivity.this, SettingsActivity.class));
                return false;
            }
        });

但是图标和标题之间的间距设置不正确。

这是我的问题的截图

正如您在屏幕截图中看到的,屏幕左侧与图标之间的间距与图标与标题之间的间距不相同。如何以编程方式设置菜单项的图标和标题之间的间距?

它们不应该相同。从 Navigation Drawer guidelines,你会注意到这个截图:

边距为 16dp(在平板电脑上为 24dp),而标题与 72dp 键线对齐。

由于 NavigationView 试图与 material 设计准则完全匹配,因此无法更改间距。