原文:http://lovelydog.iteye.com/blog/1676722
android每个应用都保存着一份仅对自身有用的配置,被封装在 android.content.res.Configuration 类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。
首先获取 Configuration 对象:
- Resources resource = getResources();
- Configuration config = resource.getConfiguration();
然后设置 config 中的 locale 属性,选择需要的语言。
locale属性为一个Locale类的对象,比如我们要设置应用的语言为英语,那么可以这样实现:
- config.locale = Locale.ENGLISH;
或者要设置成系统默认的语言:
- config.locale = Locale.getDefault();
最后,需要更新配置文件,执行下面的代码:
- getBaseContext().getResources().updateConfiguration(config, null);
语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,目前比较通用的做法是重新启动应用:
- Intent intent = new Intent();
- intent.setClass(this, MainActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- this.startActivity(intent);
另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化:
- <activity
- android:name=".MainActivity"
- android:label="@string/title_activity_main"
- android:configChanges="locale" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
具体的实现请参考Demo: LanguageChangeDemo
相关推荐
android开发中经常需要实现各种语言的切换功能,网上也有一些解决方案,经本人测试都不算好用, 以下Demo是我研究的解决方案,绝对对你有帮助.
android 实现应用内语言切换.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
基于Android的应用商店APP的实现,主要采用Android技术,及JAVA语言,Android studio开发环境,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等...
本资源是基于Android移动应用开发,用Android studio实现的期末作业,贪吃蛇小游戏。功能比较少,玩家可通过相应功能按键实现小游戏运行,碰到墙壁游戏结束 所使用配置: 1. Android studio 2022 Electric Eel(2022....
一个实现Android应用内的多语言适配Demo
在这本由多位专家联袂撰写的必备精品书籍的指引下,您不必学习其他编程语言,就可以成为一名成功的Android应用程序开发人员。您将深入理解屏幕控件、UI开发、表、布局和MonoDevelop等知识点,并驾轻就熟地使用Mono ...
Android应用开发揭秘 Windows操作系统的诞生成就了微软的霸主地位,也造就了PC时代的繁荣。然而,以Android和iPhone手机为代表 的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁...
杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...
深入Android应用开发:核心技术解析与最佳实践以Android的源代码为主,SDK为辅,针对应用开发者的需求,对各种核心技术的使用方法、底层原理和实现细节进行了深入而详细的讲解,同时辅之以大量案例和最佳实践,为...
最重要的是还全面介绍了如何利用原生的C/C (NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发Android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以...
近年来,智能手机日益普及,安卓操作系统已经逐渐成为移动设备中市场份额最大的应用操作...对于应用商店的实现,首先选择系统使用的开发语言、开发环境,然后就是对系统的分析,并且根据分析的系统可行性对系统进行设
HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 HanLP提供下列功能: 中文...
最重要的是还全面介绍了如何利用原生的C,C++(NDK)和Python、Lua等脚本语言(AndroidScriptingEnvironment)来开发Android应用,《Android应用开发揭秘》实战性强,书中的每个知识点都有配精心设计的示例,尤为...
Android Studio实现一个校园图书管理系统,满分课设!Android Studio实现一个校园图书管理系统,满分课设! 第一个较大的Android项目,基于Android平台的图书管理系统 涉及到的功能有学生注册、工作人员注册、图书馆...
本项目应用Google界面设计语言Material Design来设计UI,也就是按照Android5.0之后所有内置应用的界面风格来进行设计。 用户打开应用后会进入欢迎界面,然后进行注册登录,主界面有3个底部导航栏:首页、购物车和我...
主要为大家详细介绍了Android实现app应用多语言切换功能的相关资料,类似于微信的语言切换,感兴趣的小伙伴们可以参考一下
[Packt Publishing] Android 应用开发编程 (OpenCV 实现) (英文版) [Packt Publishing] Android Application Programming with OpenCV (E-Book) ☆ 图书概要:☆ Overview Set up OpenCV and an Android ...
基于Android的应用商店APP的实现,主要采用Android技术,及JAVA语言,Android studio开发环境,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等...
Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些...
项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发, 由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、和AVD三个软件。 本资源包含源代码、课程报告、答辩PPT等内容,仅供学习与交流...