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