我为多种语言和多种设备定义layouts
,如下所示:
我使用自定义语言设置正确的layout
,如下:
String languageToLoad = "ar";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.setLocale(locale);
getBaseContext().getResources().updateConfiguration(config, null);
this.setContentView(R.layout.activity_main);
对于语言(ar - 阿拉伯语),我提取layout-ldrtl
或layout-ldrtl-sw600dp
以及其他语言(英语 - 英语)我获取layout-ldltr
或layout-ldltr-sw600dp
及以上代码的好工作。
问题:在这一行中getBaseContext().getResources().updateConfiguration(config, null);
说我updateConfiguration
已被弃用,然后我从createConfigurationContext
使用,但当我使用此方法时,来源不需要#&# 39;工作正常,不能让我得到适当的布局。
答案 0 :(得分:0)
解决了我的问题。我使用此LINK然后使用以下代码中的activity
使用:
Context context = MyContextWrapper.wrap(this, "en");
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(context.getResources().getLayout(R.layout.activity_main), null);
this.setContentView(view);