如何在Android App中包含不同的分辨率图标?

时间:2010-06-09 22:56:36

标签: android icons manifest

Android文档表明我应该为不同分辨率的手机屏幕提供不同的图标。 http://developer.android.com/guide/practices/screens_support.html#qualifiers

  • res/drawable-ldpi/my_icon.png // icon image for low density
  • res/drawable-mdpi/dpi/my_icon.png // icon for medium density
  • res/drawable-hdpi/my_icon.png // icon image for high density

使用Eclipse为Android编译时,这不起作用。有没有人有一个适用于多个分辨率图标的清单文件示例?

谢谢, 格里

1 个答案:

答案 0 :(得分:0)

您仍应将您的图标称为@drawable/my_icon

“开发者指南”的Providing Resources部分更进一步说明了如何创建更复杂的别名,在以下部分中:

  

创建别名资源

     

如果您有一个资源要用于多个设备配置(但不适用于所有配置),则无需在每个备用资源目录中放置相同的资源。相反,您可以(在某些情况下)创建备用资源,该资源充当保存在默认资源目录中的资源的别名。

     
    

注意:并非所有资源都提供了一种机制,您可以通过该机制为其他资源创建别名。特别是,xml/目录中的动画,菜单,原始和其他未指定的资源不提供此功能。

  
     

例如,假设您有一个应用程序图标icon.png,并且需要针对不同区域设置的唯一版本。但是,两个语言环境,英语 - 加拿大语和法语 - 加拿大语,需要使用相同的版本。您可能认为需要将相同的图像复制到英语 - 加拿大语和法语 - 加拿大语的资源目录中,但事实并非如此。相反,您可以将用于两者的图像保存为icon_ca.pngicon.png以外的任何名称),并将其放在默认的res/drawable/目录中。然后在icon.xmlres/drawable-en-rCA/中创建一个res/drawable-fr-rCA/文件,该文件使用icon_ca.png元素引用<bitmap>资源。这允许您只存储一个版本的PNG文件和两个指向它的小型XML文件。 (示例XML文件如下所示。)

     

<强>绘制对象

     

要为现有drawable创建别名,请使用<bitmap>元素。例如:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/icon_ca" />
     

如果将此文件另存为icon.xml(在备用资源目录中,例如res/drawable-en-rCA/),则会将其编译为可以引用为R.drawable.icon的资源,但实际上是R.drawable.icon_ca资源的别名(保存在res/drawable/中)。

但是,如果您只是为不同的屏幕密度设置了不同的图标,则无需创建别名。 the table you link to中显示的资源目录限定符为ldpimdpihdpilocating alternative resources(强调添加)时使用限定符:

  

hdpi限定符表示该目录中的资源适用于具有高密度屏幕的设备。虽然每个可绘制目录中的图像的大小适合特定的屏幕密度,但文件名是相同的。这样,用于引用icon.pngbackground.png图像的资源ID始终相同,但 Android会选择与当前设备配置最匹配的drawable版本