我需要以编程方式设置菜单图标(不通过布局文件),并且还需要从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-aset”和“barcode-asset”的填充方式如下:
MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset");
mi.setIcon(R.drawable.globe);
最佳答案
菜单图标的大小为:
因为您的 Globe-asset 大约是 globe-48 的两倍,所以我假设您的屏幕截图来自xhdpi设备,该设备期望菜单图标为96x96。