[Android]应用语言切换 国际化
2016-09-21 10:43
393 查看
本文纠正 http://blog.csdn.net/sodino/article/details/6596709
那哥们,有错误
他应该没加 <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>这个权限
效果图
![](https://img-blog.csdn.net/20160921103738035?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](https://img-blog.csdn.net/20160921103824881?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
public class MainActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PreferenceUtil.init(this);
findViewById(R.id.btn_zw).setOnClickListener(this);
findViewById(R.id.btn_yw).setOnClickListener(this);
findViewById(R.id.btn_rw).setOnClickListener(this);
findViewById(R.id.btn_hw).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_zw:
switchLanguage("zh");
restartActivity();
break;
case R.id.btn_yw:
switchLanguage("en");
restartActivity();
break;
case R.id.btn_rw:
switchLanguage("jp");
restartActivity();
break;
case R.id.btn_hw:
switchLanguage("kr");
restartActivity();
break;
default:
break;
}
}
private void restartActivity() {
finish();
Intent intent=new Intent(MainActivity.this,MainActivity.class);
startActivity(intent);
}
private void switchLanguage(String language) {
//设置应用语言类型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("en")) {
config.locale = Locale.ENGLISH;
} else if(language.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
}else if(language.equals("jp")){
config.locale = Locale.JAPAN;
//config.locale = Locale.JAPANESE;
}else if(language.equals("kr")){
config.locale = Locale.KOREA;
//config.locale = Locale.KOREAN;
}
resources.updateConfiguration(config, dm);
//保存设置语言的类型
PreferenceUtil.commitString("language", language);
}
}
那哥们,有错误
他应该没加 <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>这个权限
效果图
public class MainActivity extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
PreferenceUtil.init(this);
findViewById(R.id.btn_zw).setOnClickListener(this);
findViewById(R.id.btn_yw).setOnClickListener(this);
findViewById(R.id.btn_rw).setOnClickListener(this);
findViewById(R.id.btn_hw).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_zw:
switchLanguage("zh");
restartActivity();
break;
case R.id.btn_yw:
switchLanguage("en");
restartActivity();
break;
case R.id.btn_rw:
switchLanguage("jp");
restartActivity();
break;
case R.id.btn_hw:
switchLanguage("kr");
restartActivity();
break;
default:
break;
}
}
private void restartActivity() {
finish();
Intent intent=new Intent(MainActivity.this,MainActivity.class);
startActivity(intent);
}
private void switchLanguage(String language) {
//设置应用语言类型
Resources resources = getResources();
Configuration config = resources.getConfiguration();
DisplayMetrics dm = resources.getDisplayMetrics();
if (language.equals("en")) {
config.locale = Locale.ENGLISH;
} else if(language.equals("zh")) {
config.locale = Locale.SIMPLIFIED_CHINESE;
}else if(language.equals("jp")){
config.locale = Locale.JAPAN;
//config.locale = Locale.JAPANESE;
}else if(language.equals("kr")){
config.locale = Locale.KOREA;
//config.locale = Locale.KOREAN;
}
resources.updateConfiguration(config, dm);
//保存设置语言的类型
PreferenceUtil.commitString("language", language);
}
}
PreferenceUtil 是个工具类,保存后下次进去就是之前的代码。
相关文章推荐
- Android国际化问题以及在应用内切换不同语言设置
- Android 应用内切换语言
- Android开发应用内多国语言切换
- Android 应用语言切换的三种方法
- 安卓国际化,应用内切换语言
- Android 应用内切换语言
- 【Android】应用语言切换的三种方法
- android 应用内切换语言
- [Android]应用语言切换的三种方法
- [Android]应用语言切换的三种方法
- [Android]应用语言切换的三种方法
- android 应用内切换语言
- IOS APP 国际化(实现不跟随系统语言,不用重启应用,代码切换stroyboard ,xib ,图片,其他资源)
- Android应用内语言切换实现
- [Android]应用语言切换的三种方法
- android 应用内语言切换
- Android应用实现多语言切换
- Android切换系统语言,自动更新应用界面显示语言
- Android应用内即时切换语言
- [Android]应用语言切换的三种方法