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
- Andoird 项目 国际化方案 以及实现
- ASP.NET MVC2 国际化实现方案
- java 项目国际化完全实现
- iOS实现简单项目国际化
- Andoird Socket 编程实现
- Andoird ValueAnimator 实现动画
- 项目国际化时,中文简体转繁体的自动化方案
- Struts2.0国际化 实现自动国际化旧项目
- Android Studio如何实现项目国际化
- iOS项目名称的更改以及国际化名称(一)
- iOS项目名称的更改以及国际化名称(二)
- Vue国际化处理 vue-i18n 以及项目自动切换中英文
- 直播项目技术实现方案
- Github上的andoird开源项目
- struts国际化问题解决方案
- struts国际化问题解决方案
- 国际化问题解决方案
- android 国际化最终方案
- C++ bubber sort
- 初探linux子系统集之led子系统(二)
- Eclipse常用快捷键使用
- SGU 495. Kids and Prizes(概率dp)
- Spring配置数据源的三种方式(dbcp,c3p0,jndi)
- Andoird 项目 国际化方案 以及实现
- Party at Hali-Bula - POJ 3342 树形dp
- 在Mac OS X 10.9.4 Mavericks编译boost 1.55,并在xcode中使用.
- 简单实用国产JQuery UI 框架 之 DWZ富客户端框架
- Ultra-QuickSort
- 寻找一个矩阵的鞍点
- 产品经理学习笔记 MRD
- 浅谈android Activity,service,broadcastReceiver生命周期
- yum本地源配置