我如何从高分辨率图像android获取所有dpi图像

时间:2013-11-26 11:28:27

标签: android layout dpi

我是一个新的Android开发人员。

我们的设计师为我的应用程序提供了一些高分辨率图像,但我知道有很多设备(不同的屏幕)支持Android平台。

我的问题是。如何从高分辨率图像中获取所有dpi(hdpi-mdpi-ldpi-xx)资源?

3 个答案:

答案 0 :(得分:1)

如果我有你的问题,这是解决方案:) http://coh.io/adpi/

答案 1 :(得分:1)

只需在xhdpi文件夹中添加所有图片,Android就会在文件夹中递归找到它们,直到它从设备屏幕密度中找到所请求的照片。

来自文档:

  

在运行时,系统可确保最佳显示效果   对于任何给定资源,当前屏幕具有以下过程:

     
      
  1. 系统根据大小使用适当的替代资源   和当前屏幕的密度,系统使用任何尺寸和   您的应用程序中提供的密度特定资源。例如,   如果设备具有高密度屏幕并且应用程序请求a   可绘制资源,系统查找可绘制资源目录   最符合设备配置的。取决于另一个   可用的替代资源,具有hdpi的资源目录   限定符(例如drawable-hdpi /)可能是最佳匹配,所以   system使用此目录中的drawable资源。

  2.   
  3. 如果没有匹配   资源可用,系统使用默认资源和比例   根据需要调高或调低当前屏幕尺寸和密度   “默认”资源是那些未标记为a的资源   配置限定符。例如,drawable /中的资源   默认的可绘制资源。系统假定为默认值   资源是针对基线屏幕尺寸和密度而设计的   是正常的屏幕尺寸和中等密度。就这样,系统   为高密度屏幕和向下缩放默认密度资源   适用于低密度屏幕。但是,当系统是   寻找密度特定的资源,但没有找到它   密度特定的目录,它不会总是使用默认资源。   系统可以改为使用其他密度特定资源之一   为了在缩放时提供更好的结果。例如,何时   寻找低密度资源并且它不可用,系统   更喜欢缩小资源的高密度版本,   因为系统可以轻松地将高密度资源扩展到   相比之下,低密度,0.5,人工制品更少   将中密度资源缩放0.75倍。更多   有关Android如何选择替代资源的信息   匹配配置限定符到设备配置,读取   Android如何找到最匹配的资源。

  4.   

如果您想要遵循良好实践,无论采用其他资源的方式,这都是将您的hdpi资源扩展到较低密度的比率。

enter image description here

希望有所帮助:)

答案 2 :(得分:0)

您可以使用链接@karvoynistas发布并this would also be a must read.

转换它们并为每个分辨率创建适当的图像

请注意,如果您想让图像自动调整大小,您根本不需要做任何事情......(您只能定义一个文件夹并让系统调整它们的大小。优点:您的应用程序会减轻重量。 :它可能会更慢,并且由于堆大小有限,您可能会遇到大图像内存问题...)