大家好,今天给大家分享一下中英文切换,其实不止是中英文,只是这个比较有代表性,什么语言都可以切换。
安卓里面控制语言就是新建包,在res里面新建values-zh和values-en,zh代表的是中文,en代表的是英文。把strings相对应的内容复制过去。我把我的代码粘一下;
下面这个是en里的,也就是英文。。。。英语水平不高,,,有的用拼音写的,,手写尴尬,,
<resources> <string name="app_name">Test2</string> <string name="jizhu">Jizhu</string> <string name="xianshi">Xianshi</string> <string name="zhuce">Zhuce</string> <string name="denglu">Login</string> <string name="zhu">Zhu</string> <string name="list">List</string> <string name="select">Select</string> <string name="english">English</string> <string name="tv_one">ID</string> <string name="tv_two">Name</string> <string name="tv_three">Title</string> <string name="tv_four">Dept</string> <string name="tv_five">Tou</string> </resources>
zh里面就正常写中文就行。
布局很简单,就一个按钮。现在距离实现中英文切换已经快了。下面站上MainActivity的代码在按钮的监听里写:
english.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //获取当前语言。 String ss = Locale.getDefault().getLanguage(); //用if语句判断,如果当前为中文就变成英文,反之变成中文 if (ss.equals("zh")){ Locale.setDefault(Locale.ENGLISH); Configuration configuration = getBaseContext().getResources().getConfiguration(); configuration.locale = Locale.ENGLISH; getBaseContext().getResources().updateConfiguration(configuration,getBaseContext().getResources().getDisplayMetrics()); recreate(); }else { Locale.setDefault(Locale.CHINESE); Configuration configuration = getBaseContext().getResources().getConfiguration(); configuration.locale = Locale.CHINESE; getBaseContext().getResources().updateConfiguration(configuration,getBaseContext().getResources().getDisplayMetrics()); recreate(); } } });