Отображение месяцев на XAxis с помощью MPAndroidChart - PullRequest
0 голосов
/ 27 января 2020

Я разрабатываю одну диаграмму, связанную с месяцами и днями. На моем XAxis у меня есть дни, но мне нужно показывать заголовки только за первый день месяца. Например, если мой диапазон начинается с 23 ноября и заканчивается 12 января, мне нужно показать заголовки, начиная с 1 декабря, 1 января ... В целом, мне нужно показать интервал, а не с начала диаграммы.

Пока я пытался показать все значения в XAxis и отформатировать их, только если это значение первого дня месяца, но это звучит как обходной путь.

Не знает кто-то как это сделать?

1 Ответ

1 голос
/ 30 января 2020

Вам необходимо создать реализацию IAxisValueFormatter. Внутри нужно найти первый день месяца. Например, с JodaTime :

val startOfMonth = DateTime(Date()).withDayOfMonth(1).withTimeAtStartOfDay()

Далее получите ваш язык с:

private val locale = ConfigurationCompat.getLocales(Resources.getSystem().configuration).get(0)

И используйте SimpleDateFormat в getFormattedValue (реализация IAxisValueFormatter):

SimpleDateFormat("d MMM", locale).format(startOfMonth.toDate())
...