Android - 将图像添加到项目

Jan*_*cci 18 import android image adt image-size

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

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

我还注意到当前的图像(启动器图标)都是不同的大小.

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

谢谢!

Ben*_*ben 44

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

  • drawable-ldpi - 低密度图像
  • drawable-mdpi - 中密度图像
  • drawable-hdpi - 高密度图像
  • drawable-xhdpi - 超高密度图像(即视网膜样显示器)
  • drawable-xxhdpi - 额外的高密度图像(Nexus 10,Samsung Galaxy S4,HTC One和Sony Xperia Z等设备)
  • drawable-xxxhdpi - 三倍超高密度图像(Nexus 6和9)

(旁注:XML文件也可以编写并存储为drawables.这些类型的文件可以根据视图状态或其他视觉设置(如渐变,边框等)控制何时使用多个图像.

那么,你应该怎么做?

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

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

  • xxxhdpi:4.0
  • xxhdpi:3.0
  • xhdpi:2.0
  • hdpi:1.5
  • tvdpi:1.33(仅限电视)
  • mdpi:1.0(基线)
  • ldpi:0.75

这意味着如果为xhdpi设备生成200x200图像,则应为150x150(hdpi)生成相同的资源,为tvdpi生成133x133,为mdpi生成100x100,最后为ldpi设备生成75x75图像.

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

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

  • 好的答案Ben,您应该将tvdpi添加到您的列表中 (2认同)