目前我们有一个项目,我们必须将它们存储在 assets 文件夹中,而不是使用 res/drawable 文件夹来存储图像。然而,我们仍然希望根据设备的分辨率/密度等利用 Android 的自动选择图像(通过限定符,例如 drawable-hdpi、drawable-mdpi 等)。
我的问题是,您知道是否可以在assets文件夹中使用限定符并使用Android机制来选择最佳图像资源?如果没有,您知道我可以使用其他方法作为解决方法吗?
谢谢。
目前我们有一个项目,我们必须将它们存储在 assets 文件夹中,而不是使用 res/drawable 文件夹来存储图像。然而,我们仍然希望根据设备的分辨率/密度等利用 Android 的自动选择图像(通过限定符,例如 drawable-hdpi、drawable-mdpi 等)。
我的问题是,您知道是否可以在assets文件夹中使用限定符并使用Android机制来选择最佳图像资源?如果没有,您知道我可以使用其他方法作为解决方法吗?
谢谢。
限定符仅适用于资源文件夹。但是,您可以使用限定符从资产中获取要使用的文件名。
例如,您可以在 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)
并使用它从资产中检索。
恐怕其他方法相当乏味。您可以使用配置类来查询方向,屏幕密度..等。了解配置详细信息后,您可以自行选择正确的资源。