先看效果。。。

先准备好各种语言的strings.xml...

右键values--->New--->Values Resource File...

文件名为strings,下面点击Locale,在点那个两个大于号的>>按钮,选择一个语言。。。OK,最后把原来的默认strings.xml里面的东西复制过来,一个个翻译好!


还需要Dialog的layout文件。。。叫做dialog_language_layout.xml

<?xml version="1.0" encoding="utf-8"?>                                                                

实际设计如图:

还有Title布局。。。名字是dialog_title.xml

<?xml version="1.0" encoding="utf-8"?>                

最后是逻辑代码。。。

private void showLanguageDialog() {        AlertDialog.Builder builder = new AlertDialog.Builder(this);//简单的对话框builder        //以下设置自定义的布局        LayoutInflater inflater = getLayoutInflater();        final View layout = inflater.inflate(R.layout.dialog_language_layout, null);        View titleView = inflater.inflate(R.layout.dialog_title, null);        builder.setView(layout);        builder.setCustomTitle(titleView);//设置自定义的标题         //初始化两个选择的控件        final RadioButton radioButton_eng = layout.findViewById(R.id.radio_eng);        final RadioButton radioButton_sim_chn = layout.findViewById(R.id.radio_sim_chn);        //以下设置中英选项二选一        radioButton_eng.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (radioButton_eng.isChecked()) {                    radioButton_sim_chn.setChecked(false);                }            }        });        radioButton_sim_chn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (radioButton_sim_chn.isChecked()) {                    radioButton_eng.setChecked(false);                }            }        });        //初始化确定、取消两个按钮        Button btn_ok = layout.findViewById(R.id.dialog_language_ok);        Button btn_cancel = layout.findViewById(R.id.dialog_language_cancel);         //对话框标题        final TextView txt_title = layout.findViewById(R.id.txt_dialog_language_title);        txt_title.setText("Language/语言");        final AlertDialog dlg = builder.create();//简单的对话框        dlg.setCanceledOnTouchOutside(false);//设置点击其他区域时不能取消对话框                //设置确定按钮事务        btn_ok.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                //开始更改语言                Resources resources = getResources();                Configuration config = resources.getConfiguration();                DisplayMetrics dm = resources.getDisplayMetrics();                if (radioButton_eng.isChecked()) {                    config.locale = Locale.ENGLISH;                    radioButton_sim_chn.setChecked(false);                } else if (radioButton_sim_chn.isChecked()) {                    config.locale = Locale.SIMPLIFIED_CHINESE;                    radioButton_eng.setChecked(false);                }                resources.updateConfiguration(config, dm);//更新语言配置                if (radioButton_eng.isChecked() || radioButton_sim_chn.isChecked()) {                    Intent intent = new Intent();                    intent.setClassName(getPackageName(), "trial.asignment.graduation.ad.AccountSettingActivity");                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);                    startActivity(intent);//更改语言配置需要重新启动Activity。。。                }            }        });        //点击取消按钮的事务:啥都不干        btn_cancel.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                dlg.dismiss();            }        });        dlg.show();//最后别忘了把我们的Dialog显示出来。。。 }

更多相关文章

  1. 关于android中alarm的使用
  2. Android(安卓)Room 框架学习
  3. Android(安卓)搜索框:SearchView 的属性和用法详解
  4. android ListView+CheckBox实现单选
  5. Android在诸如editText等组件设置输入法半屏幕显示的说明
  6. Android(安卓)使用自定义Dialog打造ActionSheet菜单
  7. Android(安卓)文件系统的权限设置
  8. Android支持RTL(从右向左)语言
  9. AndroidStudio2.2.3设置

随机推荐

  1. Android端搜索局域网中的设备
  2. Android studio 解决 No content provide
  3. WebRTC实现音视频通话
  4. Android关闭输入软键盘无效的问题
  5. ndk-build编译出错:Android NDK: APP_PLA
  6. adb 使用常见问题解决方案与adb的常见使
  7. Android(安卓)开发工具介绍-SDK工具和平
  8. 【Android】报表、线图、饼图、柱状图 (
  9. Android(安卓)自定义View(二):创建复合控件
  10. [置顶] The following SDK component was