在启动时选择语言

时间:2017-03-01 07:41:27

标签: android android-studio android-fragments

我希望为用户添加启动活动以选择应用程序语言,如何使此活动仅在启动时显示,以及当用户选择语言时活动必须永远消失?

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您只希望在用户第一次运行应用时显示该活动。

嗯,这是你可以做的:

1)获取SharedPreference的句柄。这是存储用户是否已选择语言。

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);

2)创建SharedPreferences.Editor

SharedPreferences.Editor editor = sharedPref.edit();

3)将信息存储在键值

editor.putBoolean("HAS_SELECTED_LANGUAGE", true);

4)提交更改

editor.commit();

5)检查' HAS_SELECTED_LANGUAGE'在活动的onCreate()中是真的,如果是这样的话,转到下一个Activity / Fragment / etc

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...
    ...
    if (sharedPref.getBoolean("HAS_SELECTED_LANGUAGE", false)) {
        //Replace with your action to perform if it is already selected
    }
    ...
}

此外,还建议用户能够在需要时从其他地方返回并更改语言。

希望这可以解决您的问题。

答案 1 :(得分:0)

您可以指定根据使用您应用的用户的文化量身定制的资源。您可以提供适合用户语言和文化的任何资源类型。例如,以下屏幕截图显示了一个应用程序,它在设备的默认(en_US)语言环境和西班牙语(es_ES)语言环境中显示字符串和可绘制资源。

    <resources>
        <string name="hello_world">Hello World!</string>
    </resources>

enter image description here

    <resources>
        <string name="hello_world">¡Hola Mundo!</string>
    </resources>

根据您的逻辑阅读开发人员文档。

Supporting Different Languages and Cultures