全网整合营销服务商

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

免费咨询热线: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 


相关文章: 杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  如何在宝塔面板中修改默认建站目录?  大连网站设计制作招聘信息,大连投诉网站有哪些?  如何用低价快速搭建高质量网站?  Swift中循环语句中的转移语句 break 和 continue  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何快速搭建高效简练网站?  ppt制作免费网站有哪些,ppt模板免费下载网站?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  如何快速打造个性化非模板自助建站?  如何在阿里云购买域名并搭建网站?  高端网站建设与定制开发一站式解决方案 中企动力  如何快速搭建个人网站并优化SEO?  设计网站制作公司有哪些,制作网页教程?  建站之星展会模版如何一键下载生成?  临沂网站制作企业,临沂第三中学官方网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  建站之星安装需要哪些步骤及注意事项?  Bpmn 2.0的XML文件怎么画流程图  网站微信制作软件,如何制作微信链接?  建站ABC备案流程中有哪些关键注意事项?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  如何选择服务器才能高效搭建专属网站?  如何快速搭建高效WAP手机网站吸引移动用户?  如何快速搭建高效WAP手机网站?  制作销售网站教学视频,销售网站有哪些?  如何通过WDCP绑定主域名及创建子域名站点?  如何打造高效商业网站?建站目的决定转化率  成都响应式网站开发,dw怎么把手机适应页面变成网页?  制作旅游网站html,怎样注册旅游网站?  深圳网站制作案例,网页的相关名词有哪些?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何通过NAT技术实现内网高效建站?  创业网站制作流程,创业网站可靠吗?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  建站与域名管理如何高效结合?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  如何通过商城免费建站系统源码自定义网站主题?  如何有效防御Web建站篡改攻击?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  如何基于云服务器快速搭建个人网站?  如何选择适配移动端的WAP自助建站平台?  建站之星收费标准详解:套餐费用及年费价格表一览  建站主机服务器选购指南:轻量应用与VPS配置解析  如何用美橙互联一键搭建多站合一网站?  简历在线制作网站免费版,如何创建个人简历? 

您的项目需求

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