您也可以为此使用 Android 的资源识别机制。您可以在服务器上创建不同的图像,并且可以将指向此的链接存储在您的 strings.xml 中,因此您将在不同的 res/values-xx 文件夹中拥有不同的 strings.xml(其中 xx 代表配置限定符)。查看提供资源以了解有关配置限定符的更多信息。
因此在 values-ldpi 中,您的 strings.xml 可以具有以下值:
<string name="icon">http://my-server/images/icon-ldpi.jpg</string>
而 values-hdpi 中的 strings.xml 的值为:
<string name="icon">http://my-server/images/icon-hdpi.jpg</string>
等等。
编辑:如果 url 包含运行时参数,您可以在 strings.xml 中指定相同的内容:
<string name="icon">http://my-server/%1$s/images/icon-ldpi.jpg</string>
您在 Java 代码中使用相同的代码,如下所示:
String iconURL = getResources().getString(R.string.icon, siteId);
如果siteID
是 001,则取决于设备类型,imageURL 将是“ http://my-server/001/images/icon-ldpi.jpg
”或“ http://my-server/001/images/icon-mdpi.jpg
”或“ http://my-server/001/images/icon-hdpi.jpg
”或......事实上,您无需在代码中执行任何操作来确定此显示属性去工作。