【发布时间】:2013-01-16 14:09:43
【问题描述】:
这段代码
final ApplicationInfo ai = getPackageManager().getApplicationInfo("com.company.hello", 0);
final Drawable d = getPackageManager().getApplicationIcon(ai);
即使在我的高密度 HoneyComb 设备上也可以检索 48x48 (mdpi) 可绘制对象。
鉴于我可以通过 Bitmap.createScaledBitmap 放大可绘制对象,我想问如何提取已经存在的高密度图标。 getDrawableForDensity 方法不适用于 sdk
编辑赏金
暂时忘记我的设备显示密度问题如下: 给定一个我们自己的包,我们知道它的相关 hdpi res 文件夹中有一个 72x72 图标,如何从另一个包中提取这个图标?
THIS FUNCTION 在 Honeycomb 环境中不可用。
【问题讨论】:
-
拥有drawable后你用它做什么?在我看来,您可以使用图像的
R.drawable.id来获取它,它会自动为您当前运行的任何尺寸的屏幕抓取正确的图像。 -
也许你把尺寸和密度混淆了(它们是不同的)。您不应该缩放 PNG 资源(这是使用不同分辨率可绘制对象的全部目的)。
-
嗨 FoamGuy 我已经尝试按特定 ID 提取图标,但结果相同:48x48 可绘制。 Booger:我没有混淆任何东西:给定一个包,我想要我知道在那里的 72x72 可绘制对象。我的屏幕密度是 HI_DENSITY,解决方案可能是 getDrawableForDensity 但它不可用。
标签: android drawable android-3.0-honeycomb scaling