我正在使用以下方式以编程方式更改我的应用程序的本地:
private static void updateResources(Context context, int language) {
String languageToLoad;
if (language == 2)
languageToLoad = "ar";
else
languageToLoad = "en";
locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLocale(locale);
context.createConfigurationContext(configuration);
}
布局和字符串资源的方向根据新的区域设置而变化,但是除非我手动重新启动应用程序,否则可绘制的资源不会更改,我正在使用以下方式重新创建活动:
activity.recreate()