如何在Android API 11平板电脑上获得应用程序的hdpi图标(在java代码中)?

我在Motorola xoom上注意到,Launcher上的应用程序图标是72px×72px.这通常是drawable-hdpi / in包中定义的图标大小.

在我的应用程序中,我想在72x72px大小上显示某些已安装应用程序的图标.我目前通过PackageManager获取已安装应用程序的图标,但它返回的是较差大小(46px)的位图,这对应于每个包中drawable-mdpi /中定义的资源.这对我来说是不可接受的,因为我想以更大的格式显示这些图标.

显然摩托罗拉xoom的10英寸屏幕是160dpi,因此mdpi和xlarge(见http://developer.android.com/guide/practices/screens_support.html#range).
这将解释PackageManager返回mdpi资源而不是hdpi资源的行为.

我怎样才能获得最小72x72px的已安装应用程序的图标?有谁知道它是如何在Android Honeycomb的Launcher应用程序中完成的?

谢谢,
洛朗

最佳答案
您可以在res文件夹中创建特殊的子文件夹,并将其称为drawable-large-v11,drawable-large-v11或适合您的应用程序的其他名称.

然后将大图标复制到该子文件夹,但文件名必须与其他文件夹中的文件名相同,以用于不同的dpi.我在我的应用程序中使用了这种方法,效果很好.

转载注明原文:如何在Android API 11平板电脑上获得应用程序的hdpi图标(在java代码中)? - 代码日志