`

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平台上,为应用设置语言是一项...综上所述,设置Android应用的语言涉及到资源的本地化、运行时语言切换以及用户自定义语言选择等功能的实现。通过合理设计和充分测试,开发者可以为用户提供更佳的多语言体验。

    android应用内和系统设置两种设置多语言国际化

    本教程将详细介绍如何在Android应用内以及通过系统设置实现多语言国际化,涵盖了简体中文、繁体中文和英文的切换。 首先,理解Android的国际化机制。Android系统基于资源的本地化,也就是说,开发者需要为每种语言...

    Android应用设置语言工程代码

    本示例"Android应用设置语言工程代码"将详细介绍如何在Android Studio 1.0.2版本中实现应用内的语言切换功能。这个功能允许用户根据自己的偏好选择不同的语言环境,使应用更加国际化。 首先,你需要在项目的res目录...

    Android 应用语言切换

    总之,实现Android应用语言切换需要创建并管理不同语言的资源文件,以及在代码中处理语言的切换和保存用户首选项。这个过程中,理解Android的资源配置机制以及SharedPreferences是至关重要的。通过以上步骤,你可以...

    android 实现应用内语言切换

    在Android应用开发中,实现应用内语言切换是一项重要的功能,尤其对于全球化的产品而言。这个"android 实现应用内语言切换"的Demo提供了高效且实用的方法,解决了其他在线方案可能存在的问题。下面,我们将深入探讨...

    android设置系统语言

    本文将深入探讨如何通过编程方式在Android系统中改变语言设置,同时结合微信这一应用实例,讲解相关实现步骤。 首先,我们要知道在Android中,系统语言的更改涉及到`Resources`对象和`Locale`类的使用。`Locale`...

    android语言设置国际化

    在Android平台上,实现语言设置的国际化是一项重要的任务,它允许应用程序根据用户设备的语言偏好来显示相应的文本内容。本文将深入探讨Android语言设置的国际化过程,包括相关概念、关键技术和实践步骤。 首先,...

    Android动态系统语言切换

    总之,Android动态系统语言切换是通过设置新的`Locale`并刷新资源来实现的。开发者可以通过创建示例项目,如TranslatelanguageDemo,来理解和实践这一功能,从而在应用中为用户提供更灵活的语言选择。

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

    本文将深入探讨如何在Android应用程序中实现语言切换功能,同时关注字体在不同语言环境下的适配。 首先,我们来了解一下Android系统中的语言资源管理。Android系统通过res/values目录下的strings.xml文件来存储应用...

    Android多语言切换(国际化)

    在Android应用开发中,支持多语言切换是提升用户体验的关键因素之一。这使得应用程序能够适应不同国家和地区的用户,提供本地化的界面和内容。本教程将详细介绍如何在Android项目中实现多语言切换,让您的应用具备...

    android 实现多国语言的切换

    在Android应用开发中,实现多国语言切换是一项重要的功能,它允许用户根据自己的偏好选择不同的语言环境。这个过程涉及到Android的资源本地化机制,主要包括以下几个关键知识点: 1. **资源本地化**: Android系统...

    代码设置android系统语言Demo

    下面我们将深入探讨如何通过编程方式在Android应用中切换系统语言。 首先,Android系统语言的切换涉及到`Resources`和`Locale`这两个核心类。`Resources`是Android中用于获取应用资源的接口,而`Locale`代表了语言...

    android studio实现简单考试应用程序实例代码详解

    Android Studio是Google推出的一个集成开发环境(IDE),它提供了一个功能强大且灵活的开发环境,用于开发Android应用程序。在本文中,我们将介绍如何使用Android Studio实现一个简单的考试应用程序实例代码。 ...

    安卓字体使用多语言相关-Android动态改变应用程序语言.zip

    "安卓字体使用多语言相关-Android动态改变应用程序语言.zip"这个压缩包包含的资源可能就是关于如何在Android应用中实现动态切换语言的技术实现。让我们深入探讨这个话题。 首先,Android系统本身已经提供了对多种...

    Android 多语言切换demo

    在Android应用开发中,实现多语言切换是一项基本且重要的功能,尤其对于面向全球用户的App来说。这个"Android 多语言切换demo"就是针对这一需求的一个示例项目,它可以帮助开发者理解并实现应用的语言本地化。下面...

    AndroidStudio实战快速高效地构建Android应用 AndroidStudio 高清完整带目录书签 PDF AndroidStudio实战

    1. **Android Studio入门**:介绍如何安装和配置Android Studio,设置项目环境,理解项目结构,以及创建第一个Android应用的基本步骤。 2. **布局设计与UI构建**:讲解使用布局编辑器(如XML和Design视图)创建用户...

    Android语言切换Demo

    本Demo主要展示了如何在Android应用中实现这一功能。我们将会深入探讨以下几个关键知识点: 1. **多语言支持** Android系统支持多种语言,开发者可以在项目中添加不同语言的资源文件以实现多语言支持。这些资源...

    android app多语言切换demo

    在Android应用开发中,实现多语言切换是一项基本且重要的功能,尤其对于面向全球用户的App来说。这个"android app多语言切换demo"就是这样一个实例,它展示了如何在Android应用中轻松地实现在不同语言间的切换,并...

    Android 多语言 切换

    在Android应用开发中,实现多语言切换是一项重要的功能,它能帮助应用触及更广泛的用户群体。本项目基于Android Studio开发环境,使用SDK版本28,确保兼容Android 8.0(API级别26)及以上版本。以下是关于Android多...

Global site tag (gtag.js) - Google Analytics