當前位置:首頁 » 安卓系統 » android切換語言廣播

android切換語言廣播

發布時間: 2023-08-18 18:10:25

安卓手機修改語言設置

如果您使用的是華為手機,可以按照以下方法操作:
1、進入設置 > 系統和更新 > 語言和輸入法 > 語言和地區 ,選擇要使用的語言。
如果語言列表中沒有您要使用的語言,請點擊添加語言,搜索並添加至語言列表後,再選擇語言。
您可從語言列表中刪除某個語言,點擊編輯並根據界面提示操作。
2、點擊當前地區選擇國家和地區,系統界面會根據您選擇地區的文化習慣進行顯示。

② Android:應用多語言切換,國際化實現

生成多種語言的string.xml,裡面放置對應的語言,修改配置(Configuration),重啟之後就會載入對應語言的string.xml。

1:在res目錄下,生成對應的語言包,比如英語:

在res目錄下生成了可看到生成了:

<string name="hello">你好</string>
英語:
<string name="hello">hello</string>
之後就可以使用getResource.getString(R.string.hello),這個字元串會載入相對應的配置的語言。
3:修改語言配置

修改語言配置後,需要重新啟動進程,並且殺死進程。

1:有些手機是可以在設置里直接切換語言的,這個也就是Configuration改變。用戶重新設置系統語言導致應用的語言也會重新設置。Configuration改變,如果在Manifest中不設置android:configChanges忽略掉配置改變,Activity會重新創建,那麼我們就可以在Activity的onCreate中,重新修改語言配置。
2:切換語言後,退出應用,重新進來,你會發現又是系統設置的語言。所以需要在Application開啟時,需要再次切換語言配置。

③ Android 內多語言切換實現

網上有很多安卓內多語言切換的文章,我也看了一些,很多都千篇一律,而且還是有問題,我就自己重新改了一下。整好分享給各位同學,廢話不多說,我們正式開始

我們在點擊切換語言的按鈕時候彈窗dialog 然後用戶可以選擇 簡體中文 英文 繁體中文 跟隨系統 四種選項 ,這是我們基本的需求

首先我們要在資源文件res目錄下面創建多語言的目錄文件夾 values values-en values-zh-rTW values-TW 如圖所示:

我們適配多語言的只需要在 values values-en values-zh-rTW 這個三個目錄下面的string.xml文件裡面寫入對應的引用的文本即可

我們只需要這樣配置就然後在布局的xml文件裡面引用可以達到適配多語言的效果 :
具體引用:

切換的dialog實現這個我用原生的AlertDialog 你們自己可以自定義繼承系統的Dialog來實現

這里的語言種類獲取到的sta是重SharedPreferences 緩存裡面獲取到的因為需要
SharedPreferences 工具類:

我們在dialog點擊事件里發送一個廣播通知 用來觸發刷新

然我們在baseActivity裡面接收廣播重啟activity 來刷新多語言切換

關於Locale
實現多語言切換用到了Locale。Locale里很多常見國家和地區以及語言,如果我們做常見的語言,可以直接調用系統的,比如Locale.CHINESE。但是這次做的繁體中文的適配,略我坑一下。
繁體中文我們直接在Locale 屬性裡面傳入 zh-rTW 但是切換沒有生效 我翻了下源碼只有TW的屬性配置我就要修改了
問題是,我最開始直接這樣寫的:

到此我們說明下開頭提到到為什麼多出了 values-TW目錄 是因為我發現在多語言切換更新 Configuration 中的 locale 屬性 的時候翻開源碼看到繁體中文(泛指港澳台並沒有看到zh-rTW的屬性配置)

所以目前的解決方案就是用values-TW來替代:

我這邊目前是這樣處理來兼容繁體中文切換不生效的做法 ,如果你有更好的方案 麻煩留言大家一起探討。

Android 內多語言的切換網上的文章也挺多的,基本都千篇一律 很多有紕漏 ,這邊也是翻了一下源碼勉強能夠兼容繁體中文, 項目地址

④ Android應用內切換語言

最近接觸到Android 應用內切換語言的問題,研究了兩天,做個記錄先。實現了中文,英文,泰語的切換。測試機器 Nexus5(Android p),HUAWEI榮耀9青春版(8.0.0),XIAOMI mi 4LTE(6.0.1)。
看下效果

定義一個BaseActivity,重寫attachBaseContext方法,在此方法里進行語言切換

LanguageUtil中的attachBaseContext()方法

在attachBaseContext()方法中,我們判斷一下,如果當前api大於24,那麼就調用updateResources()方法更新context。

定義好BaseActivity以後,我們只需要讓我們的Activity都繼承這個基類即可。

自定義Application並在AndroidManifest.xml文件中聲明,在Application的onCreate()方法中,調用更換語言的方法即可。

LanguageUtil中的changeAppLanguage方法

經過上面的操作就可以在7.0以下實現應用內切換語言。

定義一個ChangeLanguageActivity

如果是7.0以下,我們需要調用changeAppLanguage方法, 如果是7.0及以上系統,直接把我們想要切換的語言類型保存在SharedPreferences中,然後重新啟動MainActivity即可。

如果控制項尺寸固定,當切換語言的時候,文字長短發生變化如何解決?

可以使用google提供的新特性來解決。

完整的例子請移步
https://gitee.com/lyyon/InternationDemo

參考鏈接: https://www.jianshu.com/p/4f9db19d9383
1. https://www.jianshu.com/p/32ff13db1f0d#comment-24575608
2. http://www.cnblogs.com/travellife/p/Android-ying-yong-nei-o-yu-yan-qie-huan.html
3. https://yanlu.me/android-7-0-app-language-switch/
4. https://github.com/captain-miao/MultiLanguagesSwitch
5. https://developer.android.com/guide/topics/ui/look-and-feel/autosizing-textview

⑤ 下載了中英雙語的電影,用安卓手機怎麼調語言就像VCD,可以調左聲道和右聲道來換語言的。安卓手機能

手機語言切換的步驟如下:

1、選擇手機菜單中的「設置 (Settings)」選項。

2、選擇設置菜單中的「語言和鍵盤 (Language和 keyboard) 」選項。

⑥ 安卓手機怎麼語言轉換

手機語言切換的步驟如下:

1、選擇手機菜單中的「設置 (Settings)」選項。

2、選擇設置菜單中的「語言和鍵盤 (Language和 keyboard) 」選項。

⑦ android應用內怎麼設置語言切換

1.在工程res文件下添加對應語種的values文件,ar:阿拉伯語, en:英語 zh_rCN: 簡體中文
截圖如下:

2 .在功能清單文件中對要進行切換acitivity 進行配置添加

android:configChanges="locale"

3.對語言選擇的處理

public class MainActivity extends Activity {

Context context = MainActivity.this;;
int languageId;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
read();//設置
setContentView(R.layout.main);

findViewById(R.id.btn_change).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
save();
}
});
}

//保存
private void save() {
String[] languages = { "默認", "CN", "EN" };
AlertDialog.Builder builder = new AlertDialog.Builder(context,
android.R.style.Animation_Dialog);
builder.setTitle("選擇語言");
final SharedPreferences languagePre = context.getSharedPreferences(
"language_choice", context.MODE_PRIVATE);
final int id = languagePre.getInt("id", 0);
builder.setSingleChoiceItems(languages, id,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int index) {
switch (index) {
case 0:
// 系統默認語言
languageId = 0;
break;
case 1:
// 簡體中文
languageId = 1;
break;
case 2:
// 英語
languageId = 2;

break;
case 3:
// 阿拉伯語
languageId = 3;

break;
default:
break;
}
languagePre.edit().putInt("id", languageId).commit();
}
});
// 保存
builder.setPositiveButton("保存", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
((Activity) context).finish();
Intent intent = new Intent();
intent.setClass(context, MainActivity.class);
context.startActivity(intent);
}
});
builder.show();
}
//讀取
private void read() {
SharedPreferences languagePre = getSharedPreferences("language_choice",
Context.MODE_PRIVATE);
int id = languagePre.getInt("id", 0);
Log.d("MainActivity", "langauge_id=" + id);
Toast.makeText(context, "langauge_id=" + id, Toast.LENGTH_LONG).show();
// 應用內配置語言
Resources resources = getResources();// 獲得res資源對象
Configuration config = resources.getConfiguration();// 獲得設置對象
DisplayMetrics dm = resources.getDisplayMetrics();// 獲得屏幕參數:主要是解析度,像素等。
switch (id) {
case 0:
config.locale = Locale.getDefault(); // 系統默認語言
break;
case 1:
config.locale = Locale.SIMPLIFIED_CHINESE; // 簡體中文
break;
case 2:
config.locale = Locale.ENGLISH; // 英文
break;
default:
config.locale = Locale.getDefault();
break;
}
resources.updateConfiguration(config, dm);
}
}

⑧ 如何實現Android切換系統語言功能

1打開主菜單,進入【Settings(設置)】菜單,像手機一樣操作,網上拖動屏幕,選擇【Language & Keyboard(語言和鍵盤)】菜單: 2同樣把屏幕往上拖動,知道最後出現【中文(簡體)】的選項,然後選擇它,你的手機就變成了中文界面了

⑨ android 語言切換問題

看看是不是代碼里寫死的,檢查string文件檢查value設置

熱點內容
米思齊編譯失敗怎麼看 發布:2025-03-12 19:26:27 瀏覽:847
sql語句notexists 發布:2025-03-12 19:16:11 瀏覽:59
快手安卓版如何玩 發布:2025-03-12 19:15:26 瀏覽:35
scott資料庫 發布:2025-03-12 19:15:19 瀏覽:872
rom伺服器是什麼 發布:2025-03-12 19:10:27 瀏覽:61
我給你改個密碼叫什麼 發布:2025-03-12 19:09:32 瀏覽:673
寬頻密碼在手機上如何更改 發布:2025-03-12 19:07:52 瀏覽:115
python離線安裝pip 發布:2025-03-12 19:06:18 瀏覽:28
超時代加密視頻破解 發布:2025-03-12 19:03:10 瀏覽:95
伺服器怎麼做游戲 發布:2025-03-12 18:57:30 瀏覽:615