android:即时反映 UI 语言更改,无需重新加载/重新启动应用程序

2024-01-06

我的应用程序中有一个设置,允许用户选择不同的本地化(语言),即Chinese, German, etc.

我想做的是,一旦用户做出选择,立即使用当前所选语言的字符串更新布局。当然,我希望将语言更改传播到所有当前活动,而无需重新加载应用程序。

我发现了这个(还没有尝试过),但想知道是否有更干净的方法来做到这一点。

https://web.archive.org/web/20210127121431/http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html https://web.archive.org/web/20210127121431/http://www.tutorialforandroid.com/2009/01/force-localize-application-on-android.html


我也遇到了这个问题。我使用了下面的代码,然后它更改了语言而不刷新活动

public void setLocale(String lang) {

    myLocale = new Locale(lang);
    Resources res = getResources();
    DisplayMetrics dm = res.getDisplayMetrics();
    Configuration conf = res.getConfiguration();
    conf.locale = myLocale;
    res.updateConfiguration(conf, dm);
    onConfigurationChanged(conf);
    /*Intent refresh = new Intent(this, AndroidLocalize.class);
    startActivity(refresh);*/
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
  // refresh your views here
    lblLang.setText(R.string.langselection);
  super.onConfigurationChanged(newConfig);
}

我希望它能帮助你......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android:即时反映 UI 语言更改,无需重新加载/重新启动应用程序 的相关文章

随机推荐