Android – 将图像添加到项目

我是Android新手,我正在使用Eclipse ADT创build一个简单的应用程序。 此应用程序有一个button,根据用户点击更改它的背景图像

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

而且我也注意到目前在那里的图像(发射器图标)都是不同的大小。

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

谢谢!

Solutions Collecting From Web of "Android – 将图像添加到项目"

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

  • 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文件也可以作为绘图文件来存储,这些types的文件可以根据视图的状态或其他视觉设置(如渐变,边框等)来控制何时使用多个图像。

那么,你应该怎么做?

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

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

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

这意味着,如果为xhdpi设备生成200×200的图像,则应为hdpi生成150×150的相同资源,为tvdpi生成133×133,为mdpi生成100×100的相同资源,最后为ldpi设备生成75×75的图像。

如果你只是想使用一个图像,让Android为您量身定制:

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

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

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