Android 中英文切换

看似很复杂的中英文切换其实很简单,如果在做项目的工程中,首先要看一下项目设计的功能,看看有没有中英文,不然到后面操作的时候会非常麻烦,因为,你需要把项目里的每一个字都要放在string.xml文件里面,你要是平常直接写在布局里面,那可就难受了

分享一下实现的几个步骤:
1. 要实现中英文,首先在res下面创建一个文件夹,values-en ,然后你再里面创建一个string.xml 文件,你就会发现这个文件有一个国外的国旗一样的标志,这就代表你创建成功了
2. 就比如,你再布局里面一个表示字体的string.xml里面的一个参数,比如

values文件夹下的:

    取消
	确认

values-en文件夹下的:

    cancel
    confirm

这样就能引用中引文了,

3.在布局里面:(想必大家都知道:我就简写一下)

layout_textview="string/cancel";

然后就是代码实现了,我把核心代码贴出来,你们根据自己的需求来写吧,shiftLanguage();里面的参数在最上面随便定义一个string类型的参数即可。

 public void shiftLanguage(String sta) {

        if (sta.equals("zh")) {
            Locale.setDefault(Locale.ENGLISH);
            Configuration config = getBaseContext().getResources().getConfiguration();
            config.locale = Locale.ENGLISH;
            getBaseContext().getResources().updateConfiguration(config
                    , getBaseContext().getResources().getDisplayMetrics());
            refreshSelf();
        } else {
            Locale.setDefault(Locale.CHINESE);
            Configuration config = getBaseContext().getResources().getConfiguration();
            config.locale = Locale.CHINESE;
            getBaseContext().getResources().updateConfiguration(config
                    , getBaseContext().getResources().getDisplayMetrics());
            refreshSelf();
        }
    }
  public void refreshSelf() {
        Intent intent = new Intent(this, MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
    }

你可能感兴趣的:(Android)