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
分享到:
相关推荐
在Android平台上,为应用设置语言是一项...综上所述,设置Android应用的语言涉及到资源的本地化、运行时语言切换以及用户自定义语言选择等功能的实现。通过合理设计和充分测试,开发者可以为用户提供更佳的多语言体验。
本教程将详细介绍如何在Android应用内以及通过系统设置实现多语言国际化,涵盖了简体中文、繁体中文和英文的切换。 首先,理解Android的国际化机制。Android系统基于资源的本地化,也就是说,开发者需要为每种语言...
本示例"Android应用设置语言工程代码"将详细介绍如何在Android Studio 1.0.2版本中实现应用内的语言切换功能。这个功能允许用户根据自己的偏好选择不同的语言环境,使应用更加国际化。 首先,你需要在项目的res目录...
总之,实现Android应用语言切换需要创建并管理不同语言的资源文件,以及在代码中处理语言的切换和保存用户首选项。这个过程中,理解Android的资源配置机制以及SharedPreferences是至关重要的。通过以上步骤,你可以...
在Android应用开发中,实现应用内语言切换是一项重要的功能,尤其对于全球化的产品而言。这个"android 实现应用内语言切换"的Demo提供了高效且实用的方法,解决了其他在线方案可能存在的问题。下面,我们将深入探讨...
本文将深入探讨如何通过编程方式在Android系统中改变语言设置,同时结合微信这一应用实例,讲解相关实现步骤。 首先,我们要知道在Android中,系统语言的更改涉及到`Resources`对象和`Locale`类的使用。`Locale`...
在Android平台上,实现语言设置的国际化是一项重要的任务,它允许应用程序根据用户设备的语言偏好来显示相应的文本内容。本文将深入探讨Android语言设置的国际化过程,包括相关概念、关键技术和实践步骤。 首先,...
总之,Android动态系统语言切换是通过设置新的`Locale`并刷新资源来实现的。开发者可以通过创建示例项目,如TranslatelanguageDemo,来理解和实践这一功能,从而在应用中为用户提供更灵活的语言选择。
本文将深入探讨如何在Android应用程序中实现语言切换功能,同时关注字体在不同语言环境下的适配。 首先,我们来了解一下Android系统中的语言资源管理。Android系统通过res/values目录下的strings.xml文件来存储应用...
在Android应用开发中,支持多语言切换是提升用户体验的关键因素之一。这使得应用程序能够适应不同国家和地区的用户,提供本地化的界面和内容。本教程将详细介绍如何在Android项目中实现多语言切换,让您的应用具备...
在Android应用开发中,实现多国语言切换是一项重要的功能,它允许用户根据自己的偏好选择不同的语言环境。这个过程涉及到Android的资源本地化机制,主要包括以下几个关键知识点: 1. **资源本地化**: Android系统...
下面我们将深入探讨如何通过编程方式在Android应用中切换系统语言。 首先,Android系统语言的切换涉及到`Resources`和`Locale`这两个核心类。`Resources`是Android中用于获取应用资源的接口,而`Locale`代表了语言...
Android Studio是Google推出的一个集成开发环境(IDE),它提供了一个功能强大且灵活的开发环境,用于开发Android应用程序。在本文中,我们将介绍如何使用Android Studio实现一个简单的考试应用程序实例代码。 ...
"安卓字体使用多语言相关-Android动态改变应用程序语言.zip"这个压缩包包含的资源可能就是关于如何在Android应用中实现动态切换语言的技术实现。让我们深入探讨这个话题。 首先,Android系统本身已经提供了对多种...
在Android应用开发中,实现多语言切换是一项基本且重要的功能,尤其对于面向全球用户的App来说。这个"Android 多语言切换demo"就是针对这一需求的一个示例项目,它可以帮助开发者理解并实现应用的语言本地化。下面...
1. **Android Studio入门**:介绍如何安装和配置Android Studio,设置项目环境,理解项目结构,以及创建第一个Android应用的基本步骤。 2. **布局设计与UI构建**:讲解使用布局编辑器(如XML和Design视图)创建用户...
本Demo主要展示了如何在Android应用中实现这一功能。我们将会深入探讨以下几个关键知识点: 1. **多语言支持** Android系统支持多种语言,开发者可以在项目中添加不同语言的资源文件以实现多语言支持。这些资源...
在Android应用开发中,实现多语言切换是一项基本且重要的功能,尤其对于面向全球用户的App来说。这个"android app多语言切换demo"就是这样一个实例,它展示了如何在Android应用中轻松地实现在不同语言间的切换,并...
在Android应用开发中,实现多语言切换是一项重要的功能,它能帮助应用触及更广泛的用户群体。本项目基于Android Studio开发环境,使用SDK版本28,确保兼容Android 8.0(API级别26)及以上版本。以下是关于Android多...