我有一个小问题。
我创建了一个列表,其中包含一周的日期名称,我将其用作月历的标题行。
但问题是日历的第一行在不同的工作日开始,这是由手机的本地化决定的。例如美国周日,德国周一。
如何存档此排序?
fun getLocalizedShortWeekDays(): List<String> {
val locale = Locale.getDefault()
val listOfDayNames = DayOfWeek.entries.map { it.getDisplayName(TextStyle.SHORT, locale) }.toList()
val orderedListOfDayNames =
return listOfDayNames
}
我想按照手机本地化的顺序对日期名称列表进行排序。
您可以使用 WeekFields.getFirstDayOfWeek() 并循环浏览条目:
fun getLocalizedShortWeekDays(): List<String> {
val locale = Locale.getDefault()
val firstDayOfWeek = WeekFields.of(locale).firstDayOfWeek
val orderedListOfDayNames = List(7) {
DayOfWeek.of(1 + (it + firstDayOfWeek.ordinal) % 7)
.getDisplayName(TextStyle.SHORT, locale)
}
return orderedListOfDayNames
}