2

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

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

谢谢。

4

2 回答 2

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>

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

于 2012-10-10T09:00:57.183 回答
0

恐怕其他方法相当乏味。您可以使用配置类来查询方向,屏幕密度..等。了解配置详细信息后,您可以自行选择正确的资源。

于 2012-10-10T08:53:42.103 回答