`
lovelydog
  • 浏览: 91754 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Android 应用语言设置的实现

阅读更多

 

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

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

 

2
0
分享到:
评论

相关推荐

    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实现应用内语言切换.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动态系统语言切换

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

    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应用中轻松地实现在不同语言间的切换,并...

Global site tag (gtag.js) - Google Analytics