使用限定符来资产文件夹

时间:2012-10-10 08:46:43

标签: android

目前我们有一个项目,而不是使用res / drawable文件夹来存储图像,我们必须将它们存储在assets文件夹中。然而,我们仍然希望利用Android的自动拾取图像(通过限定符,例如drawable-hdpi,drawable-mdpi等),具体取决于设备的分辨率/密度等。

我的问题是,您知道是否可以在assets文件夹中使用限定符并使用Android机制来选择最佳图像资源?如果没有,您是否知道我可以使用其他方法作为解决方法?

感谢。

2 个答案:

答案 0 :(得分:7)

限定符仅适用于资源文件夹。但是,您可以使用限定符来获取要从资产中使用的文件名。

例如,您可以在values-ldpi,values-hdpi等中使用不同的strings.xml。这些strings.xml中的每一个都包含要使用的文件的名称。

值-LDPI / strings.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="logo_file">logo-ldpi.png</string>
</resources>

值-MDPI / strings.xml中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="logo_file">logo-mdpi.png</string>
</resources>

然后,您可以使用getResources().getString(R.string.logo_file)获取logo_file的名称,并使用它从资产中检索。

答案 1 :(得分:0)

我担心其他方法相当繁琐。您可以使用Configuration类来查询方向,屏幕密度等。了解配置详细信息后,您可以自行选择正确的资源。