这段代码
final ApplicationInfo ai = getPackageManager().getApplicationInfo("com.company.hello", 0);
final Drawable d = getPackageManager().getApplicationIcon(ai);
即使在我的 hidensity HoneyComb 设备上也可以检索 48x48 (mdpi) 的可绘制对象。
考虑到我可以通过 Bitmap.createScaledBitmap 放大可绘制对象,我想问一下如何提取已经存在的高密度图标。 getDrawableForDensity 方法不适用于 sdk < 15,但我不乐意为我必须绘制的每个图标调用缩放函数,因为它在包中是免费的。
编辑赏金
暂时忘记了我的设备显示密度,问题如下: 给定一个我们知道在相关 hdpi res 文件夹中肯定有一个 72x72 图标的自己的包,如何从另一个包中提取这个图标?
THIS FUNCTION在 Honeycomb 环境中不可用。
最佳答案
要直接找到具有良好密度的可绘制对象,您只需尝试这个:
mContext.getResources().getDrawable(R.drawable.mydrawable);
问题是什么?如果 android 给你一个 48x48 的图标,那就是好的图标,或者你没有在好的 res/drawable- 文件夹中设置图标。
关于android - 从包中检索 hidensity drawable (honeycomb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14360295/