全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

android动态设置app当前运行语言的方法

android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言。

package com.example.androidtest;

import java.util.Locale;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.view.Menu;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		Button btnLang = (Button) findViewById(R.id.btn);
		// 按下按钮改变语言类型,在“简体中文”和“英文”之间切换
		btnLang.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// 获取当前Locale(包含语言信息)
				Locale curLocale = getResources().getConfiguration().locale;
				
				// 判断语言类型,有以下两种判断方式
				
				// 方法一,通过Locale的equals方法
				// public boolean equals (Object object) 
				//   Returns true if object is a locale with the same language, country and variant. 
				if (curLocale.equals(Locale.SIMPLIFIED_CHINESE)) {
					setLang(Locale.ENGLISH);
				} else {
					setLang(Locale.SIMPLIFIED_CHINESE);
				}
				
				// 方法二,通过语言码,getLanguage()方法可以获得对应语言码
				// public String getLanguage () 
				// 	Returns the language code for this Locale or the empty string if no language was set. 
//				if (curLocale.getLanguage().equals(Locale.SIMPLIFIED_CHINESE.getLanguage())) {
//					setLang(Locale.ENGLISH);
//				} else {
//					setLang(Locale.SIMPLIFIED_CHINESE);
//				}
			}
		});
	}

	private void setLang(Locale l) {
		// 获得res资源对象
		Resources resources = getResources();
		// 获得设置对象
		Configuration config = resources.getConfiguration();
		// 获得屏幕参数:主要是分辨率,像素等。
		DisplayMetrics dm = resources.getDisplayMetrics();
		// 语言
		config.locale = l;
		resources.updateConfiguration(config, dm);
		
		// 刷新activity才能马上奏效
		startActivity(new Intent().setClass(MainActivity.this,
	  		MainActivity.class));
		MainActivity.this.finish();
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.activity_main, menu);
		return true;
	}

}

通过下面一行代码获得当前语言信息

Locale curLocale = getResources().getConfiguration().locale;

判断语言和设置语言部分有详细注释,就不做过多解释啦!

资源文件需要支持多语言环境,这样才能看到切换语言的效果!

 

创建values-en文件夹,并创建英文版的strings.xml文件。 

以上这篇android动态设置app当前运行语言的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# android  # 当前语言  # Android实现app应用多语言切换功能  # Android app应用多语言切换功能实现  # 详解Android更改APP语言模式的实现过程  # android 使用kotlin 实现点击更换全局语言(中日英切换)  # Android 7.0以上版本实现应用内语言切换的方法  # Android 系统语言切换监听和设置实例代码  # Android实现应用内置语言切换功能  # Android实现系统语言切换功能  # Android App中进行语言的切换  # 给大家  # 简体中文  # 就不  # 两种  # 中有  # 希望能  # 英文  # 按下  # 这篇  # 英文版  # 可以获得  # 小编  # 大家多多  # 多语言  # 主要是  # 这时候  # savedInstanceState  # onCreate  # super  # layout 


相关文章: 建站之星如何快速更换网站模板?  如何设置并定期更换建站之星安全管理员密码?  香港服务器部署网站为何提示未备案?  建站之星后台密码如何安全设置与找回?  建站之星如何防范黑客攻击与数据泄露?  如何在阿里云高效完成企业建站全流程?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  建站DNS解析失败?如何正确配置域名服务器?  如何挑选最适合建站的高性能VPS主机?  如何在建站主机中优化服务器配置?  如何在七牛云存储上搭建网站并设置自定义域名?  如何做网站制作流程,*游戏网站怎么搭建?  大连 网站制作,大连天途有线官网?  如何通过可视化优化提升建站效果?  已有域名和空间如何快速搭建网站?  网站制作需要会哪些技术,建立一个网站要花费多少?  如何通过智能用户系统一键生成高效建站方案?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  ,在苏州找工作,上哪个网站比较好?  建站之星代理平台如何选择最佳方案?  如何撰写建站申请书?关键要点有哪些?  建站主机选择指南:服务器配置与SEO优化实战技巧  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  C++时间戳转换成日期时间的步骤和示例代码  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  建站VPS推荐:2025年高性能服务器配置指南  如何在万网ECS上快速搭建专属网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  香港网站服务器数量如何影响SEO优化效果?  为什么Go需要go mod文件_Go go mod文件作用说明  青岛网站建设如何选择本地服务器?  开心动漫网站制作软件下载,十分开心动画为何停播?  h5网站制作工具有哪些,h5页面制作工具有哪些?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  高端企业智能建站程序:SEO优化与响应式模板定制开发  网站图片在线制作软件,怎么在图片上做链接?  如何选择最佳自助建站系统?快速指南解析优劣  存储型VPS适合搭建中小型网站吗?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  已有域名如何免费搭建网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Android滚轮选择时间控件使用详解  相册网站制作软件,图片上的网址怎么复制?  音乐网站服务器如何优化API响应速度?  定制建站策划方案_专业建站与网站建设方案一站式指南  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  代购小票制作网站有哪些,购物小票的简要说明?  淘宝制作网站有哪些,淘宝网官网主页?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。