Andoird 项目 国际化方案 以及实现

来源:互联网 发布:移动通信 算法 招聘 编辑:程序博客网 时间:2024/06/03 20:08

首先在网上找了很多关于Android国际化的一些问题以及解决思路,找了好久一直都没发现具体的实现以及方案。

很多人都知道大概就是知道是通过资源在string.xml配置文件里面做的。

但是在实际开发的过程当中会遇到一些问题。比如修改好国际化话之后,跳转在当前的页面,那么当你返回到其他的页面时候,你奇怪的发现资源还是现实之前的语种。


解决问题思路:

1.要么让所有的页面重新加载资源文件。

2.关闭所有的页面,重新回到主页。

目前的微信切换语种是通过跳转至主页面,而微博稍微离谱了些,重新启动应用。


主要代码:

/**     * 切换语言     *      * @param context     */    public static void loadLocaleConfig(Context context) {        /**         * 获取用户设置的语言选项,如果没有设置则获取默认系统语言         */        SharedPreferences perferences = context.getSharedPreferences("demo", 0);        String lang = "zh";        if (perferences.contains("lang")) {            perferences.getString("lang", lang);        } else {            lang = Locale.getDefault().getLanguage();        }        Resources resource = context.getResources();        Configuration localConfiguration = resource.getConfiguration();        DisplayMetrics localDisplayMetrics = resource.getDisplayMetrics();        /**         * 根据设置的语言配置对应的资源国际化         */        if ("zh".equalsIgnoreCase(Locale.getDefault().getLanguage())) {            localConfiguration.locale = Locale.CHINESE;        } else {            localConfiguration.locale = Locale.ENGLISH;        }        ;        resource.updateConfiguration(localConfiguration, localDisplayMetrics);    }


最终终于解决项目组遗留问题。有问题请留言。

0 0
原创粉丝点击