3
众所周知,我们根据选择的语言排列了值文件夹,例如value-en
,。 我只想检查特定的值文件夹是否存在? 例如,我想检查value-fr
是否存在于res
文件夹中?检查android文件夹中的Value文件夹
众所周知,我们根据选择的语言排列了值文件夹,例如value-en
,。 我只想检查特定的值文件夹是否存在? 例如,我想检查value-fr
是否存在于res
文件夹中?检查android文件夹中的Value文件夹
这使我想到的第一件事是定义在values/localized.xml
布尔项(或类似strings.xml
其他一些资源文件):
<resources>
<bool name="localized">false</bool>
</resources>
然后在每个values-xx
文件夹覆盖它:
<resources>
<bool name="localized">true</bool>
</resources>
现在您可以为特定区域创建对象Resource
,并检查localized
资源值:
Resources currentResources = getResources();
AssetManager assets = currentResources.getAssets();
DisplayMetrics metrics = currentResources.getDisplayMetrics();
Configuration config = new Configuration(currentResources.getConfiguration());
config.locale = Locale.FRENCH;
Resources localizedResources = new Resources(assets, metrics, config);
if (localizedResources.getBoolean(R.bool.localized)) {
// values-fr exists
}
你见过[this](http://stackoverflow.com/questions/4539630/how-do-i-check-to-see-if-a-resource-exists-in-android)? –
@EricB。我认为OP想检查是否存在特定的本地化。 – mixel