`

Android 应用语言设置的实现

 
阅读更多

原文:http://lovelydog.iteye.com/blog/1676722

 

android每个应用都保存着一份仅对自身有用的配置,被封装在 android.content.res.Configuration 类里,通过该类,我们可以修改语言参数,实现对应用语言的变更。

首先获取 Configuration 对象:

 

Java代码  收藏代码
  1. Resources resource = getResources();  
  2. Configuration config = resource.getConfiguration();    

 

然后设置 config 中的 locale 属性,选择需要的语言。

locale属性为一个Locale类的对象,比如我们要设置应用的语言为英语,那么可以这样实现:

 

Java代码  收藏代码
  1. config.locale = Locale.ENGLISH;  

 

  或者要设置成系统默认的语言:

Java代码  收藏代码
  1. config.locale = Locale.getDefault();   

最后,需要更新配置文件,执行下面的代码:

 

Java代码  收藏代码
  1. getBaseContext().getResources().updateConfiguration(config, null);  

 

 

语言设置完成后,应用并不会自动刷新当前已经打开的Activity,所以为了刷新整个应用,目前比较通用的做法是重新启动应用:

 

Java代码  收藏代码
  1. Intent intent = new Intent();  
  2. intent.setClass(this, MainActivity.class);  
  3. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
  4. this.startActivity(intent);  

 

 

另外需要注意的是,需要在Manifest.xml文件中的Activity中配置android:configChanges属性,通过配置该属性,Activity可以捕捉设备状态的变化:

 

Xml代码  收藏代码
  1. <activity  
  2.             android:name=".MainActivity"  
  3.             android:label="@string/title_activity_main"  
  4.             android:configChanges="locale" >  
  5.             <intent-filter>  
  6.                 <action android:name="android.intent.action.MAIN" />  
  7.                 <category android:name="android.intent.category.LAUNCHER" />  
  8.             </intent-filter>  
  9. </activity>  

 

 

具体的实现请参考Demo: LanguageChangeDemo

下载地址:https://github.com/hanyi/LocaleChangeDemo.git

分享到:
评论

相关推荐

    android 实现应用内语言切换

    android开发中经常需要实现各种语言的切换功能,网上也有一些解决方案,经本人测试都不算好用, 以下Demo是我研究的解决方案,绝对对你有帮助.

    安卓字体使用多语言相关-android实现应用内语言切换.rar

    android 实现应用内语言切换.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    基于Android的应用商店设计与实现.zip

    基于Android的应用商店APP的实现,主要采用Android技术,及JAVA语言,Android studio开发环境,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等...

    Android移动应用开发 贪吃蛇小游戏

    本资源是基于Android移动应用开发,用Android studio实现的期末作业,贪吃蛇小游戏。功能比较少,玩家可通过相应功能按键实现小游戏运行,碰到墙壁游戏结束 所使用配置: 1. Android studio 2022 Electric Eel(2022....

    Android多语言适配Demo

    一个实现Android应用内的多语言适配Demo

    c#开发Android应用实战

    在这本由多位专家联袂撰写的必备精品书籍的指引下,您不必学习其他编程语言,就可以成为一名成功的Android应用程序开发人员。您将深入理解屏幕控件、UI开发、表、布局和MonoDevelop等知识点,并驾轻就熟地使用Mono ...

    Android应用开发揭秘(pdf )

    Android应用开发揭秘  Windows操作系统的诞生成就了微软的霸主地位,也造就了PC时代的繁荣。然而,以Android和iPhone手机为代表  的智能移动设备的发明却敲响了PC时代的丧钟!移动互联网时代(3G时代)已经来临,谁...

    《Android应用开发揭秘》源码

     杨丰盛,Android应用开发先驱,对Android有深入研究,实战经验极其丰富。精通Java、C、C++等语言,专注于移动通信软件开发,在机顶盒软件开发和MTK平台软件开发方面有非常深厚的积累。2007年获得中国软件行业协会...

    深入Android应用开发 核心技术解析与最佳实践.z01

    深入Android应用开发:核心技术解析与最佳实践以Android的源代码为主,SDK为辅,针对应用开发者的需求,对各种核心技术的使用方法、底层原理和实现细节进行了深入而详细的讲解,同时辅之以大量案例和最佳实践,为...

    Android应用开发揭秘.rar

    最重要的是还全面介绍了如何利用原生的C/C (NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发Android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以...

    基于Android的应用商店设计与实现

    近年来,智能手机日益普及,安卓操作系统已经逐渐成为移动设备中市场份额最大的应用操作...对于应用商店的实现,首先选择系统使用的开发语言、开发环境,然后就是对系统的分析,并且根据分析的系统可行性对系统进行设

    Android代码-Java 实现的自然语言处理中文分词

    HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 HanLP提供下列功能: 中文...

    Android应用开发揭秘pdf高清版

    最重要的是还全面介绍了如何利用原生的C,C++(NDK)和Python、Lua等脚本语言(AndroidScriptingEnvironment)来开发Android应用,《Android应用开发揭秘》实战性强,书中的每个知识点都有配精心设计的示例,尤为...

    Android Studio实现一个校园图书管理系统,满分课设!

    Android Studio实现一个校园图书管理系统,满分课设!Android Studio实现一个校园图书管理系统,满分课设! 第一个较大的Android项目,基于Android平台的图书管理系统 涉及到的功能有学生注册、工作人员注册、图书馆...

    Android Studio实现订餐系统

    本项目应用Google界面设计语言Material Design来设计UI,也就是按照Android5.0之后所有内置应用的界面风格来进行设计。 用户打开应用后会进入欢迎界面,然后进行注册登录,主界面有3个底部导航栏:首页、购物车和我...

    Android实现app应用多语言切换功能

    主要为大家详细介绍了Android实现app应用多语言切换功能的相关资料,类似于微信的语言切换,感兴趣的小伙伴们可以参考一下

    [OpenCV] Android 应用开发编程 (OpenCV 实现) (英文版)

    [Packt Publishing] Android 应用开发编程 (OpenCV 实现) (英文版) [Packt Publishing] Android Application Programming with OpenCV (E-Book) ☆ 图书概要:☆ Overview Set up OpenCV and an Android ...

    基于Android的应用商店设计与实现-包含源码-文档-演示视频.zip

    基于Android的应用商店APP的实现,主要采用Android技术,及JAVA语言,Android studio开发环境,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等...

    利用腾讯浏览服务TBS,在Android应用内实现视频的播放,支持视频格式远多于系统WebView.zip

    Android 平台提供了丰富的功能和接口,开发人员可以使用 Java 或 Kotlin 等编程语言编写 Android 应用程序。Android 项目也可以是针对特定设备或特定需求进行自定义开发的软件解决方案。 以下是 Android 项目的一些...

    移动应用课程开发实践-基于Android的体重管理APP实现.rar

    项目的开发在Eclipse环境中进行,由于进行的是Android应用程序的开发, 由以上分析可知,Android平台的搭建需要Android SDK、Java SDK、和AVD三个软件。 本资源包含源代码、课程报告、答辩PPT等内容,仅供学习与交流...

Global site tag (gtag.js) - Google Analytics