有效地更改应用内的区域设置

时间:2016-02-21 20:38:22

标签: android dialog widget locale

this回答后,我在每个活动的onCreate()方法中使用以下代码:

    Resources res = context.getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    android.content.res.Configuration conf = res.getConfiguration();
    conf.setLocale(newLocale);
    res.updateConfiguration(conf, dm);

但这并没有有效地更新配置。需要解决以下问题:

  1. dialogs的布局方向似乎被系统覆盖,应该由conf.setLocale(newLocale)处理。

  2. TimePicker等一些小部件也是如此。

  3. NumberPickerTimePicker中的数字也会被覆盖。

  4. 这里有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

似乎有点太早发布我的问题的答案,但在上面的代码中添加Locale.setDefault(newLocale)解决了所提到的所有三个问题。