2011-12-13 54 views
0

我有我的默認drawables(英文),另外挪威語(nb)和德語(de)。我的問題是:是否可以爲未定義的語言使用非默認資源?

如果本地化是瑞典語(sv)或丹麥語(da),而不是正常行爲使用默認可繪製(在我的情況下是英語),可以使用挪威繪製而不復制從drawable-nb到darawable-sv和drawable-da的文件?

預先感謝您回答我的問題。

回答

1

this answer提取出來,您可以擴展應用程序類,並設置爲任何你想要的語言環境:我不得不添加

public class MyApplication extends Application 
{ 
    private Locale locale = null; 

    @Override 
    public void onCreate() 
    { 
     super.onCreate(); 

     Configuration config = getBaseContext().getResources().getConfiguration(); 

     String lang = config.locale.getLanguage(); 
     if (lang.equals("sv") || lang.equals("da")) 
     { 
      locale = new Locale("nb-NO"); 
      Locale.setDefault(locale); 
      config.locale = locale; 
      getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 
     } 
    } 
} 
+0

<支持屏安卓anyDensity =「真」 />在清單文件(至少也可以使用API​​ Level 4),並像在你提供的鏈接中一樣覆蓋onConfigurationChanged。另外,我必須將ScaleType.CENTER_INSIDE更改爲ScaleType.FIT_CENTER以獲取ImageSwithcers。 –

+0

@MihaiPopescu與語言環境無關,是嗎?無論如何,我很高興可以提供幫助: – SERPRO

+0

實際上,更改ScaleType與API級別3更改爲API級別4相關。但重置是。否則需要添加anyDensity =「true」,否則所有設計元素都會「縮小」,如果您不覆蓋onConfigurationChanged,則區域設置將恢復爲初始狀態。謝謝你,SeRPRO。 –

1

如果你想放的平臺皮卡相關的繪製資源依賴於語言環境,他們在適當的區域設置的文件夾 - 這是繪製達和你的情況繪製-SV

您也可以使用Locale類並在運行時以編程方式拾取drawable。

相關問題