如何在 Android API 11 平板电脑及更多设备上获取应用程序的 hdpi 图标(在 java 代码中)?
我注意到在 Motorola xoom 上,启动器上的应用程序图标为 72 像素 x 72 像素。这通常是在包中的drawable-hdpi/中定义的图标的大小。
在我的应用程序中,我想以 72x72px 大小显示一些已安装应用程序的图标。我目前通过 PackageManager 获取已安装应用程序的图标,但它返回了较小尺寸 (46px) 的位图,该位图对应于每个包的 drawable-mdpi/ 中定义的资源。这对我来说是不可接受的,因为我想以更大的格式显示这些图标。
显然,Motorola xoom 的 10 英寸屏幕为 160dpi,因此 mdpi 和 xlarge(请参阅 http ://developer.android.com/guide/practices/screens_support.html#range)。 这可以解释 PackageManager 返回 mdpi 资源而不是 hdpi 资源的行为。
如何获得最小尺寸为 72x72px 的已安装应用程序的图标?有谁知道它是如何在 Android Honeycomb 上的 Launcher 应用程序中完成的?
谢谢, 洛朗
I have noticed on the Motorola xoom, that the applications icons on the Launcher are 72px by 72px. This is normally the size of icons defined in drawable-hdpi/ in packages.
In my application I want to display the icons of some installed applications on that 72x72px size. I currently fetch the icons of installed apps via the PackageManager, but it returns me bitmaps of inferior size (46px), which corresponds to the resources defined in drawable-mdpi/ of each package. This is not acceptable for me as I would like to display these icons in a larger format.
Apparently the 10" screen of the Motorola xoom is 160dpi, thus mdpi and xlarge (see http://developer.android.com/guide/practices/screens_support.html#range).
This would explain the behaviour of PackageManager returning me mdpi resouces instead of hdpi resources.
How could I get the icons of installed applications in a size of 72x72px minimum? Does anyone knows how it was done in the Launcher application on Android Honeycomb?
Thanks,
Laurent
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在 res 文件夹中创建特殊的子文件夹,并将其命名为 drawable-large-v11 或 drawable-large-v11 或其他适合您的应用程序的名称。
然后将大图标复制到该子文件夹中,但文件名必须与不同 dpi 的其他文件夹中的文件名相同。我在我的应用程序中使用了这种方法,效果很好。
You can create special sub-folder in your res folder and call it like drawable-large-v11, or drawable-large-v11, or other name suitable for your application.
Then copy large icon to that sub-folder, but filename must be the same as in other folders for different dpi's. I've used such approach in my applications and it works great.