我有以下代码:
if (Locale.getDefault().equals(Locale.GERMANY) ||
Locale.getDefault().equals(Locale.GERMAN)) {
tp.setIs24HourView(true);
}
这适用于语言设置“德国”。但是还有其他语言可供选择:奥地利(德国),瑞士(德国)等。对于这些语言,我也希望if
语句得到“真实”。
所以例如奥地利就是“de_AT” Locale.GERMANY给出了de_DE Locale.GERMAN仅提供de
如果我这样做
if (Locale.getDefault().equals("de_AT")
返回false
我无法弄清楚如何获得其他德语国家的价值。
答案 0 :(得分:1)
Android已经为您提供了一种获取用户所选小时格式的方法。使用此设置很重要,因为用户可以覆盖手机设置中的区域设置选项。在任何情况下,这都是你应该使用的:
tp.setIs24HourView(android.text.format.DateFormat.is24HourFormat());
请参阅文档here。
答案 1 :(得分:1)
您可以通过以下方式检查系统语言:
Locale.getDefault().getDisplayLanguage();
对于将德语设置为用户界面语言(电话菜单等)的所有用户,无论是在德国,奥地利还是澳大利亚,都会返回“Deutsch”(字符串)^^