Как программно установить границу между значком и заголовком пункта меню Navigation Drawer в 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;
            }
        });

Но расстояние между значком и заголовком не установлено должным образом.

Это скриншот моей проблемы

введите здесь описание изображения

Как вы можете видеть на снимке экрана, расстояние между левой стороной экрана и значком и расстояние между значком и заголовком не совпадают. Как программно установить интервал между значком и заголовком пункта меню?


person Wai Yan Hein    schedule 05.05.2016    source источник


Ответы (1)


Они не должны быть одинаковыми. В руководстве по навигации вы найдете этот скриншот. :

Характеристики панели навигации

Боковое поле имеет размер 16dp24dp на планшетах), а заголовки выровнены по ключевой линии 72dp.

Поскольку NavigationView стремится точно соответствовать рекомендациям по дизайну материалов, изменить интервал невозможно.

person ianhanniballake    schedule 05.05.2016
comment
Большое спасибо. U избавиться от моих сомнений. Теперь я ясно. - person Wai Yan Hein; 05.05.2016