2017-04-08 13 views

回答

2

更改語言編程中的Android

這裏是改變應用程序的語言環境的適當方法:

有一些困​​難,你必須克服以編程方式更改語言。

1.)您的應用程序將在配置更改期間關閉或重新創建後,不記得您的語言更改

2.)您應該根據所選語言正確更新當前可見UI

解決方案

LocaleHelper」是你所需要的解決方案。您只需在應用程序的主類中初始化語言環境。之後,所有的語言變化將持續。

在Android API Version 24(Nougat)的最近更改之後,我們需要重寫attachBaseContext以反映更改。

下面的方法來改變語言的應用:

private static boolean updateResources(Context context, String language) { 
    Locale locale = new Locale(language); 
    Locale.setDefault(locale); 

    Resources resources = context.getResources(); 

    Configuration configuration = resources.getConfiguration(); 
    configuration.locale = locale; 

    resources.updateConfiguration(configuration, resources.getDisplayMetrics()); 

    return true; 
} 

在下面的鏈接瞭解詳情:

Changing Android’s Locale Programmatically

+0

做同樣的我應該需要調用每個活動這種方法嗎? – Champandorid

+0

不止一次,但您需要照顧每個語言值文件夾中的所有字符串資源。 –

+0

謝謝@Chetan有幫助的回答。 – Champandorid

相關問題