Android輕松實(shí)現(xiàn)多語(yǔ)言

1.創(chuàng)建多語(yǔ)言包
11.gif
2.首先在onCreate方法中調(diào)用此方法查看上一次保存的是什么語(yǔ)言
 public void setLanguage() {
        //根據(jù)讀取到存放在sp里面的數(shù)據(jù) 進(jìn)行設(shè)置
        Configuration configuration = getResources().getConfiguration();

        SharedPreferences sharedPreferences = getSharedPreferences("key", MODE_PRIVATE);
        int language = sharedPreferences.getInt("language", 0);

        switch (language) {
            case 0:
                configuration.setLocale(Locale.CHINESE);
                break;
            case 1:
                configuration.setLocale(Locale.ENGLISH);
                break;
        }
        getResources().updateConfiguration(configuration, getResources().getDisplayMetrics());
    }

3.點(diǎn)擊某個(gè)按鈕彈出選擇框選擇語(yǔ)言包
   btn_qiehuan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String[] strings = {"簡(jiǎn)體中文", "English"};
                //首次進(jìn)入判斷是否是中文語(yǔ)言
                int selected = getSharedPreferences("language", Context.MODE_PRIVATE).getInt("language", -1);
                if (selected == -1) {
                    String defaultLanguage = Locale.getDefault().toString();
                    if (defaultLanguage.equals(Locale.CHINESE.toString()) || defaultLanguage.equals(Locale.SIMPLIFIED_CHINESE.toString())
                            || defaultLanguage.equals(Locale.TRADITIONAL_CHINESE.toString())) {
                        selected = 0;
                    } else {
                        selected = 1;
                    }
                }
                new AlertDialog.Builder(MainActivity.this)
                        .setSingleChoiceItems(strings, selected,
                                new DialogInterface.OnClickListener() {
                                    //點(diǎn)擊單選框某一項(xiàng)以后
                                    public void onClick(DialogInterface dialogInterface, int i) {
                                        SharedPreferences preferences = getSharedPreferences("language", Context.MODE_PRIVATE);
                                        SharedPreferences.Editor editor = preferences.edit();
                                        editor.putInt("language", i);
                                        editor.commit();
                                        dialogInterface.dismiss();
                                        //重啟activity
                                        finish();
                                        Intent intent = new Intent(MainActivity.this, MainActivity.class);
                                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                                        startActivity(intent);
                                    }
                                })
                        .create()
                        .show();
            }
        });

效果演示~~~

8CAE7CF01EBF6D296AC192C82287105F.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,150評(píng)論 25 708
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程,因...
    小菜c閱讀 7,356評(píng)論 0 17
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,421評(píng)論 4 61
  • 一眨眼,又來(lái)到了畢業(yè)季,終于熬到了學(xué)校最老的一屆,成了名副其實(shí)的學(xué)長(zhǎng)學(xué)姐。心中感慨萬(wàn)千,時(shí)光時(shí)光,你走的慢些吧。 ...
    cherishheartedl閱讀 219評(píng)論 0 0
  • APK 下載可調(diào)試的 APK可動(dòng)態(tài)調(diào)試的 APK 這次的 APP 是 2015 年移動(dòng)安全挑戰(zhàn)賽(看雪&阿里主辦)...
    半人前閱讀 2,403評(píng)論 0 8

友情鏈接更多精彩內(nèi)容