安卓菜单图标大小

9
我需要通过编程方式设置菜单图标(而不是通过布局文件),并且我还需要从file:///android_asset/加载图标文件(而不是作为编译的Drawable加载)。我发现显示的图标尺寸相对较小。它似乎被Android调整大小了,我不想在代码中实现同样的效果。
如您在附加的屏幕截图中所见,菜单“globe-36”,“globe-48”和“globe-72”是使用以下代码填充的,它们的图像分别为36x36、48x48和72x72:(这是我在应用程序中加载图标的方法,我必须这么做)
            MenuItem mi = menu.add(Menu.NONE, i++, i++, icon);
            Drawable d = Drawable.createFromStream(getAssets().open(icon + ".png"), icon);
            mi.setIcon(d);

而且,“globe-asset”和“barcode-asset”菜单的内容如下:
    MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset");
    mi.setIcon(R.drawable.globe);

enter image description here


这取决于屏幕分辨率吗? - Aleadam
R.drawable.globe 的分辨率是多少?你的屏幕是 xhdpi 吗? - 18446744073709551615
以编程方式设置图标实用方法[从清单文件中以编程方式加载活动和/或应用程序徽标][1] [1]: https://dev59.com/02025IYBdhLWcg3wRTxK - Jabeer
1个回答

12
菜单图标的尺寸如下:
  • ldpi: 36x36
  • mdpi: 48x48
  • hdpi: 72x72
  • xhdpi: 96x96
  • xxhdpi: 144x144
由于您的“globe-asset”比“globe-48”要大约两倍,因此我假设您的屏幕截图来自一个期望菜单图标为96x96的xhdpi设备。

有关更新的信息,请查看此处 https://dev59.com/_GYr5IYBdhLWcg3wfKL_ - Justin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接