不同的屏幕大小Android应用程序的不同资源

时间:2013-12-24 09:20:26

标签: android xml android-layout

我正在使用eclipse开发一个andriod应用程序。我有以下文件夹结构。

Xml文件夹:

/res/layout
/res/layout-large
/res/layout-large-mdpi
/res/layout-mdpi
/res/layout
/res/layout-xlarge

图片文件夹:

/res/drawable
/res/drawable-hdpi
/res/drawable-ldpi
/res/drawable-mdpi
/res/drawable-xhdpi
/res/drawable-xxhdpi

我在manifest.xml中使用了这段代码

 <supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true" />

我在可绘制文件夹中有不同尺寸的徽标图像。但是现在我的所有layout.xml都只使用/res/drawable-mdpi中的图像。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在尝试之前检查(测试)这个!!!

这不是您问题的完美答案,但如果您的应用中的图片数量最少,这是一个机会:

Go through the developer site here :

并阅读完整的详细信息,

为了在您的应用上获得更好的结果,请在上述链接中的“使用配置限定符”段落前考虑1,2分。

  

在运行时,系统确保在当前屏幕上以最佳方式显示任何给定资源的以下过程:

     
      
  1. 系统使用适当的替代资源   根据当前屏幕的大小和密度,系统使用应用程序中提供的任何特定大小和密度的资源。例如,如果设备具有高密度屏幕并且应用程序请求可绘制资源,则系统会查找与设备配置最匹配的可绘制资源目录。根据可用的其他备用资源,具有hdpi限定符的资源目录(例如drawable-hdpi /)可能是最佳匹配,因此系统使用此目录中的可绘制资源。

  2.   
  3. 如果没有可用的匹配资源,系统将使用默认资源并根据需要向上或向下扩展以匹配当前屏幕大小和密度   “默认”资源是未使用配置限定符标记的资源。例如,drawable /中的资源是默认的可绘制资源。系统假定默认资源是针对基线屏幕尺寸和密度设计的,这是正常的屏幕尺寸和中等密度。因此,系统会根据需要为高密度屏幕缩放默认密度资源,为低密度屏幕缩小默认密度资源。

         

    但是,当系统查找特定于密度的资源但未在密度特定的目录中找到它时,它将不会始终使用默认资源。系统可以改为使用其他密度特定资源中的一个,以便在缩放时提供更好的结果。例如,当寻找低密度资源并且它不可用时,系统倾向于缩小资源的高密度版本,因为系统可以轻松地将高密度资源缩放到低密度资源。与将中等密度资源缩放0.75倍相比,因子为0.5,伪影更少。

  4.