Android 支持数百个图标的多个屏幕

Android 支持数百个图标的多个屏幕,android,dpi,Android,Dpi,在我的应用程序中,我必须使用数百个位图图标,我们希望支持多屏幕 通过上的文档,似乎这是为具有不同dpi的不同设备创建这些图标的唯一方法 如果这是真的,我们将有一项艰巨的工作,因此我想知道是否有其他方法可以避免这种情况?您不必为所有可能的像素密度提供不同的位图资源,但理想情况下,您将提供低dpi(ldpi)、中dpi(mdpi)、高dpi(hdpi)和超高dpi(xhdpi)图标资源。 如果您没有提供上述所有内容,Android系统将自动选择最接近的匹配资源,并根据实际屏幕像素密度进行缩放 考虑到

在我的应用程序中,我必须使用数百个位图图标,我们希望支持多屏幕

通过上的文档,似乎这是为具有不同dpi的不同设备创建这些图标的唯一方法


如果这是真的,我们将有一项艰巨的工作,因此我想知道是否有其他方法可以避免这种情况?

您不必为所有可能的像素密度提供不同的位图资源,但理想情况下,您将提供低dpi(ldpi)、中dpi(mdpi)、高dpi(hdpi)和超高dpi(xhdpi)图标资源。
如果您没有提供上述所有内容,Android系统将自动选择最接近的匹配资源,并根据实际屏幕像素密度进行缩放

考虑到您要处理的图标数量,手动创建每个图标的多个版本显然是不可能的

我建议您以xhdpi分辨率创建图标,并提出一个自动化的过程(可能使用ImageMagick之类的工具,以及您选择的脚本语言)作为构建过程的一部分,制作较低的分辨率。

请访问该网站,该网站将提供您所需的所有类型的dp图标图像

在您的情况下,请选择“通用图标”部分或“菜单图标”部分


希望这能有所帮助。

您可以将图像置于/res/drawable中,然后Android将根据dpi对其进行缩放,以便在不考虑显示密度的情况下使图像的物理大小大致相同。在这种情况下,图像在MDPI中是未修改的,在HDPI中是1.5倍,在XHDPI中是2倍,在XXHDPI中是3倍

您也可以将它们放在/res/drawable nodpi中,在这种情况下,不会应用图像重缩放,但这并不理想,因为同一图像在XXHDPI中的物理大小是MDPI的3倍


以上所有方法都有严重的缺点,因此最明智的方法是将正确大小的图像放入各自的DPI文件夹中。您的图像应该以更高的分辨率绘制,因此只需将每个图像重新缩放到不同的DPI大小即可。

事实上,我们正在使用的应用程序类似于谷歌地图。我们为不同类型的标签绘制不同的图标。例如,
公园
学校
将具有不同的图标。但无论如何,谢谢你的网站,我想总有一天我会使用它的。