android开发中怎么动态修改程序运行的语言

  介绍

这篇文章给大家介绍android开发中怎么动态修改程序运行的语言,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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 =,(按钮),findViewById (R.id.btn);//,按下按钮改变语言类型,在“简体中文”和“英文”之间切换   btnLang.setOnClickListener (new  View.OnClickListener (), {      @Override   public  void  onClick (View  v), {//,获取当前语言环境(包含语言信息)   Locale  curLocale =, getresource () .getConfiguration () .locale;//,判断语言类型,有以下两种判断方式//,方法一,通过地区的=方法//,public  boolean  equals  (Object 对象),//,,,Returns  true  if  object  is  a  locale  with 从而same 语言,,country 以及变异又是;   if  (curLocale.equals (Locale.SIMPLIFIED_CHINESE)), {   setLang (Locale.ENGLISH);   },{else    setLang (Locale.SIMPLIFIED_CHINESE);   }//,方法二,通过语言码,getLanguage()方法可以获得对应语言码//,public  String  getLanguage  (),//,Returns 从而language  code  for 却;能够Locale 看,趁机empty  string  if  no  language  was 设置只//if  (curLocale.getLanguage () .equals (Locale.SIMPLIFIED_CHINESE.getLanguage ())), {//setlang (Locale.ENGLISH);//},{else //setlang (Locale.SIMPLIFIED_CHINESE);//}   }   });   }      private  void  setLang (Locale  l), {//,获得res资源对象   Resources  Resources =, getresource ();//,获得设置对象   Configuration  config =, resources.getConfiguration ();//,获得屏幕参数:主要是分辨率,像素等。   DisplayMetrics  dm =, resources.getDisplayMetrics ();//,语言   时间=config.locale  l;   resources.updateConfiguration(配置,dm);//,刷新活动才能马上奏了效   startActivity (new 意图().setClass (MainActivity.this,   ,,MainActivity.class));   MainActivity.this.finish ();   }      @Override   public  boolean  onCreateOptionsMenu (Menu 菜单),{//,Inflate 从而;菜单,却;能够adds  items 用,action  bar  if  it  is 礼物。   getMenuInflater () .inflate (R.menu.activity_main,菜单);   return 真实;   }      }

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

<强>地区curLocale=getresource () .getConfiguration () .locale;

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

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

 android开发中怎么动态修改程序运行的语言”>,</p> <p>创建values-en文件夹,并创建英文版的strings.xml文件只</p> <p class=关于android开发中怎么动态修改程序运行的语言就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

android开发中怎么动态修改程序运行的语言