18

我是全新的Android,我正在使用Eclipse ADT它来创建一个简单的应用程序。此应用程序有一个按钮,可根据用户点击更改其背景图像。

我注意到我的项目中有 4 个图像文件夹:drawable-hdpi, drawable-ldpi, drawable-mdpi, and drawable-xhdpi.

而且我还注意到当前那里的图像(启动器图标)都是不同的大小。

这是否意味着我必须使用一些图像编辑软件为我的每张图像的每种分辨率创建一张图像?或者(希望)有没有办法导入图像并自动为我完成?

谢谢!

4

2 回答 2

44

图像和其他可视文件存储在一个或多个可绘制目录中。如果仅在一个目录中,Android 将根据需要缩放图像。如果使用多个目录,Android 将选择适当大小的图像。

  • drawable-ldpi - 低密度图像
  • drawable-mdpi - 中等密度图像
  • drawable-hdpi - 高密度图像
  • drawable-xhdpi - 超高密度图像(即类似视网膜的显示)
  • drawable-xxhdpi - 超高密度图像(Nexus 10、三星 Galaxy S4、HTC One 和索尼 Xperia Z 等设备)
  • drawable-xxxhdpi - 三倍超高密度图像(Nexus 6 和 9

(旁注:XML 文件也可以作为可绘制对象写入和存储。这些类型的文件可以根据视图的状态或其他视觉设置(如渐变、边框等)控制何时使用多个图像。)

那么,你应该怎么做?

为获得最佳结果(来自Android 开发者文档):

要生成这些图像,您应该从矢量格式的原始资源开始,并使用以下大小比例为每个密度生成图像:

  • xxxhdpi: 4.0
  • xxhdpi: 3.0
  • xhdpi: 2.0
  • 高清:1.5
  • tvdpi:1.33(仅限电视)
  • mdpi:1.0(基线)
  • 低密度脂蛋白:0.75

这意味着如果您为 xhdpi 设备生成 200x200 的图像,您应该为 hdpi 生成 150x150、tvdpi 的 133x133、mdpi 的 100x100、最后为 ldpi 设备的 75x75 的图像。

如果您只想使用一张图片并让 Android 为您扩展:

根据Android 开发者网站上的仪表板,现在超过 75% 的 Android 设备具有 hdpi 或更高的分辨率。因此,例如,如果您在 hdpi 上创建一个图像,它将在大约 1/3 的设备上看起来很完美,在某些设备上可以放大,在 25% 的设备上可以缩小。总的来说,我认为缩小规模比扩大规模要好。

于 2013-02-25T01:52:07.263 回答
3

这是否意味着我必须使用一些图像编辑软件为我的每张图像的每种分辨率创建一张图像?或者(希望)有没有办法导入图像并自动为我完成?

如果您已经拥有图像的高分辨率源(或矢量图形格式),则可以使用Android Asset Studio从您自己的源图像中为每个密度(减去 xxhdpi)生成图标/图像。您还可以从默认的 Android 剪贴画创建图标/图像,这些剪贴画可以为各种版本的 Android 设置主题。这将为您节省一些使用图像编辑工具调整大小和保存的麻烦。

于 2013-02-25T02:03:24.013 回答