×î½ü×öµÄÏîÄ¿ÖÐʹÓõ½Á˶àÓïÑÔÇл»¹¦ÄÜ£¬
°²×¿¶àÓïÑÔÉèÖÃ
¡£ÄÇô¶àÓïÑÔÇл»Ê×ÏÈҪעÒâµÄÊÇ£¬ÔÚxmlÎļþÖкʹúÂëµ±ÖУ¬ËùÓÐʹÓÃÎı¾×Ö·û´®µÄµØ·½£¬È·±£ËùʹÓõÄstringÎı¾ÊÇ´ÓvaluesÎļþ¼ÐϵÄstring.xmlÖлñÈ¡¡£ÄÇô×ö¶àÓïÑÔÐèÒªÁ½µ½Èý¸öÎļþ¡£1 valuesÎļþ¼ÐϵÄstring.xmlÎļþÕâÀï´æ·ÅµÄÊÇÄãappÔÚûÓнøÐÐÓïÑÔÉèÖõÄʱºòĬÈÏʹÓõÄÓïÑÔÀàÐÍ¡£2 values-enÎļþ¼Ð(Õâ¸öÎļþ¼ÐÊÇ×Ô¼º´´½¨µÄ£¬µ±È»Ò²¿ÉÒÔÊDZðµÄÃû×Östring.xml ÕâÀï´æ·ÅµÄÊÇÿ¸öÎı¾¶ÔÓ¦µÄÓ¢ÎÄÎı¾¡£3values-tw(·±ÌåÖÐÎÄ£©
ÐèҪעÒâһϣ¬Èý¸öÎļþ¼ÐϵÄstring.xmlÎļþÖеÄÎı¾±äÁ¿£¬±ØÐë±£Ö¤ÊýĿһÖ£¬¶ÔÓ¦µÄÃû³ÆÒ»Ö¡£
ÏÂÃæÊÇÇл»´úÂ벿·Ö¡£ÎÒÌôÑ¡³öÖØÒªµÄ½âÊÍ¡£
public class ChangeLanquageActivity extends BaseActivity implements OnClickListener { private RelativeLayout cnBtn, twBtn, enBtn; private ImageView cnBtn_choose, twBtn_choose, enBtn_choose; private Button leftBtn; private TextView topTtitle; SharedPreferences Sp;// ±£´æÓïÑÔÇл»µÄSP£¬ÒÔ±ãºóÐøµÄÍøÂçÇëÇóÖУ¬·¢Ë͵±Ç°ÓïÑÔÀàÐÍ @Override protected int getContentLayout() { return R.layout.activity_language; } @Override protected void initGui() { leftBtn = (Button) findViewById(R.id.leftBtn); topTtitle = (TextView) findViewById(R.id.topTitle); cnBtn = (RelativeLayout) findViewById(R.id.cnBtn); twBtn = (RelativeLayout) findViewById(R.id.twBtn); enBtn = (RelativeLayout) findViewById(R.id.enBtn); cnBtn_choose = (ImageView) findViewById(R.id.cnBtn_choose); twBtn_choose = (ImageView) findViewById(R.id.twBtn_choose); enBtn_choose = (ImageView) findViewById(R.id.enBtn_choose); Sp = getSharedPreferences("userInfo", this.MODE_WORLD_WRITEABLE); } @Override protected void initAction() { cnBtn.setOnClickListener(this); twBtn.setOnClickListener(this); enBtn.setOnClickListener(this); leftBtn.setOnClickListener(this); } @Override protected void initData() {//³õʼ»¯Çл»ÓïÑԵİ´Å¥µÄÎı¾£¬ÔÚÕâÀï˵Ã÷һϣ¬<span>MBConfig.LanguageÊÇÓÃÓÚ±£´æµ±Ç°ÓïÑÔ»·¾³µÄÈ«¾Ö±äÁ¿£¬0,1,2´ú±íÈýÖÖÓïÑÔÉèÖÃ</span>topTtitle.setText(R.string.language_set); if (StringUtils.equals(MBConfig.Language, "0")) { // ·±ÌåÖÐÎÄ cnBtn_choose.setVisibility(View.INVISIBLE); twBtn_choose.setVisibility(View.VISIBLE); enBtn_choose.setVisibility(View.INVISIBLE); } else if (StringUtils.equals(MBConfig.Language, "1")) { // Ó¢ÎÄ cnBtn_choose.setVisibility(View.INVISIBLE); twBtn_choose.setVisibility(View.INVISIBLE); enBtn_choose.setVisibility(View.VISIBLE); } else if (StringUtils.equals(MBConfig.Language, "2")) { // ¼òÌåÖÐÎÄ cnBtn_choose.setVisibility(View.VISIBLE); twBtn_choose.setVisibility(View.INVISIBLE); enBtn_choose.setVisibility(View.INVISIBLE); } } @Override public void onClick(View v) {//µã»÷ʼþ£¬µã»÷ºóÇл»ÓïÑÔÅäÖ㬵çÄÔ×ÊÁÏ
¡¶°²×¿¶àÓïÑÔÉèÖá·(https://www.unjs.com)¡£Çл»µÄÅäÖÃÓÃsp±£´æ£¬ÒÔ±ãÏ´νøÈëµÄʱºòʹÓá£ÖмäµÄ°´Å¥ÏÖÒþ²ØÂß¼¿ÉÒÔ²»Óÿ¼ÂÇ¡£ Resources resources = getResources(); Editor edit = Sp.edit(); switch (v.getId()) { case R.id.leftBtn: hideProgressDialog(); finish(); break; case R.id.cnBtn: cnBtn_choose.setVisibility(View.VISIBLE); twBtn_choose.setVisibility(View.INVISIBLE); enBtn_choose.setVisibility(View.INVISIBLE); changeAppLanguage(resources, "CN"); MBConfig.Language = "2"; edit.putString("LANGUAGE", "2"); edit.commit(); hideProgressDialog(); finish(); break; case R.id.twBtn: cnBtn_choose.setVisibility(View.INVISIBLE); twBtn_choose.setVisibility(View.VISIBLE); enBtn_choose.setVisibility(View.INVISIBLE); changeAppLanguage(resources, "TW"); MBConfig.Language = "0"; edit.putString("LANGUAGE", "0"); edit.commit(); hideProgressDialog(); finish(); break; case R.id.enBtn: cnBtn_choose.setVisibility(View.INVISIBLE); twBtn_choose.setVisibility(View.INVISIBLE); enBtn_choose.setVisibility(View.VISIBLE); changeAppLanguage(resources, "EN"); MBConfig.Language = "1"; edit.putString("LANGUAGE", "1"); edit.commit(); hideProgressDialog(); finish(); break; default: break; } } public void changeAppLanguage(Resources resources, String lanAtr) {//Çл»ÓïÑԵķ½·¨ Configuration config = resources.getConfiguration();//¶ÁȡϵͳÅäÖÃÐÅÏ¢ DisplayMetrics dm = resources.getDisplayMetrics(); if (lanAtr.equals("CN")) { config.locale = Locale.CHINA; } else if (lanAtr.equals("TW")) { config.locale = Locale.TAIWAN; } else if (lanAtr.equals("EN")) { config.locale = Locale.ENGLISH; } else { config.locale = Locale.getDefault(); } //ÉÏÃæÊǶÔÓ¦ÈýÖÖÇé¿öÏÂÉèÖÃÈýÖÖÓïÑÔÉèÖà resources.updateConfiguration(config, dm);//Ë¢ÐÂÓïÑÔÉèÖÃÐÅÏ¢£¬Õâ²½²»ÄÜÉÙ¡£ }