如何更改我的Android应用程序中的本地化而不进行设置?

时间:2010-07-01 21:32:50

标签: android

好的我有2种不同语言的应用程序(英语和德语),如何从我的应用程序中更改它们? 当我单击语言按钮使用意图com.android.settings.LocalePicker时,我从那里选择语言。 所以我不想从对话框中选择英语和德语选项。 我知道如何创建对话框,但不知道如何更改区域设置。

2 个答案:

答案 0 :(得分:2)

使用本地系统提取应用程序资源,该系统不能在应用程序中更改。

系统设置屏幕使用一个类(ActivityManagerNative),该类不能通过SDK获得,因此不能保证在发行版之间工作,因此不应在代码中使用。

所以你的选择是;

  • 不要在您的应用中提供功能
  • 实施您自己的系统,以确定用户在您的应用中选择的设置,并使用您自己的代码提取相应的资源。

答案 1 :(得分:2)

试试这个:

  1. 使用单选按钮选择英语&创建一个普通的android对话框。德国
  2. OnCheckedChange ()
  3. 写这个来改变语言

    Locale myLocale = new Locale(/*String selected*/);
    Locale.setDefault(myLocale );
    
    Configuration config2 = new Configuration();
    config2.locale = myLocale ;
    getBaseContext().getResources().updateConfiguration(config2,
      getBaseContext().getResources().getDisplayMetrics());