将区域设置设置为app小部件

时间:2012-05-28 12:56:59

标签: android localization android-appwidget

我们的应用程序会对其执行某种区域设置,而与设备设置无关。这是一个临时的决定,直到字符串被正确翻译。

    Configuration config = sContext.getResources().getConfiguration();
    if (!sDefaultLocale.equals(config.locale)) {
            Locale.setDefault(sDefaultLocale);
            config.locale = sDefaultLocale;
            sContext.getResources().updateConfiguration(config,
                    sContext.getResources().getDisplayMetrics());

    }

不幸的是,强制语言环境不适用于app小部件,小部件仍然使用设备的区域设置。我正在寻找一种方法来使应用程序小部件采用相同的区域设置。

1 个答案:

答案 0 :(得分:1)

更改区域设置后,您需要更新应用小部件。重要的是,在创建新的RemoteView时,您需要使用remoteViews.setTextViewText(..)设置所有字符串以编程方式

如果app小部件字符串资源是用XML定义的(android:text =" @string /...") - 在设置新的语言环境后不会更改它们。