我从文件中获取一个位图(从网络缓存)并且没有对设备密度进行硬编码,我无法以正确的大小绘制它。
我正在将图像用作菜单图标,因此就我所知,我无法设置比例类型。
我已经尝试了这个并且无处可去:
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inScaled = true; //tried false too
opt.inDensity = 240;
opt.inTargetDensity = 240; //both tried at various settings
Bitmap bitmap = BitmapFactory.decodeFile(imageFile.toString(), opt);
BitmapDrawable icon = new BitmapDrawable(bitmap);
我有更多运气:
icon.setTargetDensity((int) (100 * metrics.density)); //Also tried at various settings
但除非我对实际设备DPI进行硬编码,否则我无法获得良好的效果。