размер значка меню Android - PullRequest
8 голосов
/ 06 апреля 2011

Мне нужно установить значок меню программно (не через файл макета), а также мне нужно загрузить файл значка из файла: /// android_asset / (Не загружать как скомпилированный Drawable). Я обнаружил, что размер отображаемой иконки относительно меньше. Похоже, Android изменить его размер или что-то, и я не хочу достичь того же эффекта без кода.

Как вы можете видеть на прилагаемом снимке экрана, меню «глобус-36», «глобус-48» и «глобус-72» заполняется с использованием кода, похожего на код, и их изображения имеют размеры 36х36, 48х48 и 72х72: (Это способ, которым я загружаю свой значок в свое приложение, я должен)

            MenuItem mi = menu.add(Menu.NONE, i++, i++, icon);
            Drawable d = Drawable.createFromStream(getAssets().open(icon + ".png"), icon);
            mi.setIcon(d);

И, меню «глобус-aset» и «штрих-код актив» заполняются как:

    MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset");
    mi.setIcon(R.drawable.globe);

enter image description here

1 Ответ

10 голосов
/ 06 августа 2013

Размеры значков меню:

  • ldpi: 36x36
  • т / д: 48х48
  • hdpi: 72x72
  • xhdpi: 96x96
  • xxhdpi: 144x144

как ваш глобус-актив примерно в два раза больше, чем globe-48 Я предполагаю, что ваш снимок экрана от устройства xhdpi, которое ожидает значки меню 96x96.

...