我希望为用户添加启动活动以选择应用程序语言,如何使此活动仅在启动时显示,以及当用户选择语言时活动必须永远消失?
答案 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>
<resources>
<string name="hello_world">¡Hola Mundo!</string>
</resources>
根据您的逻辑阅读开发人员文档。