真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android應用語言切換功能

因為公司的產(chǎn)品大部分是銷售到國外的,所以領(lǐng)導要求app有語言切換功能。我在網(wǎng)上搜了些相關(guān)知識并實現(xiàn)了功能,在這里做個中英文切換的demo記錄下來。

創(chuàng)新互聯(lián)建站專注于永安企業(yè)網(wǎng)站建設,響應式網(wǎng)站,成都商城網(wǎng)站開發(fā)。永安網(wǎng)站建設公司,為永安等地區(qū)提供建站服務。全流程按需定制,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務

先看看demo的效果:

Android應用語言切換功能

效果就是這樣子。當然也可以做成其他語言的切換,具體根據(jù)需求而定。

原理其實很簡單,就是多個strings.xml進行切換然后在刷新Activity。

首先,在AndroidManifest.xml文件中的每個需要切換語言的Activity中加入android:configChanges="locale"。

然后在res文件夾下添加對應語種的values文件:

比如中文簡體就是values-zh-rCN、英文就是values-en。

當然還有其他語種的,這里我只做了兩個常用的有需要的可以去查看各國語言縮寫、各國語言簡稱。其原理都是一樣的。

values-zh-rCN/strings.xml:


    LanguageDemo

    中文
    英文
    紅色
    ×××
    藍色
    綠色
    紫色

values-en/strings.xml:


    LanguageDemo

    Chinese
    English
    Red
    Orange
    Blue
    Green
    Purple

布局文件:




    

最后是切換語言的核心代碼:

private Configuration configuration;
private DisplayMetrics displayMetrics;
private Resources resources;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    resources = getResources();// 獲得res資源對象
    configuration = resources.getConfiguration();// 獲得設置對象
    displayMetrics = resources.getDisplayMetrics();
}

//中文
public void Chinese(View view) {
    configuration.locale = Locale.SIMPLIFIED_CHINESE;
    resources.updateConfiguration(configuration, displayMetrics);
    startActivity(new Intent(MainActivity.this,MainActivity.class));
    finish();
}

//英文
public void English(View view) {
    configuration.locale = Locale.US;
    resources.updateConfiguration(configuration, displayMetrics);
    startActivity(new Intent(MainActivity.this,MainActivity.class));
    finish();
}

當然刷新頁面也不止這一種方法可以用onCreate(),不過這個方法限制比較多。還有recreate(),使用這個方法屏幕會閃一下。

那么源碼地址:http://down.51cto.com/data/2229088

如果你喜歡我的文章就關(guān)注我的博客吧!


新聞名稱:Android應用語言切換功能
URL地址:http://weahome.cn/article/ppogch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部