Горизонтальный прокручиваемый вид календаря - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу создать календарь с горизонтальной прокруткой, как на картинке ниже. enter image description here

У меня есть несколько сторонних библиотек для создания календаря, но все они поддерживают только обычный календарь. Я хочу свернутую версию календаря с горизонтальной прокруткой, и по щелчку даты содержимое должно быть обновлено.

1 Ответ

1 голос
/ 03 апреля 2019

Вы можете попробовать этот великий https://github.com/Mulham-Raee/Horizontal-Calendar, в нем есть все, что вам нужно.

Вот пример использования

Сначала добавьте это в ваш XML-файл

<devs.mulham.horizontalcalendar.HorizontalCalendarView
                        android:id="@+id/calendarView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:background="#FAFAFA"
                        app:selectedDateBackground="#00ffffff"
                        app:selectorColor="#c62828"
                        app:textColorNormal="#bababa"
                        app:textColorSelected="@color/blue_color"
                        app:textSizeDayName="20sp"
                        app:textSizeDayNumber="20sp" />

Тогда ваша деятельность объявляет экземпляр HorizontalCalendar

private HorizontalCalendar horizontalCalendar;

Финансово код Java

Calendar endDate = Calendar.getInstance();
    endDate.add(Calendar.MONTH, 1);
    Calendar startDate = Calendar.getInstance();
    startDate.add(Calendar.MONTH, -1);

    horizontalCalendar = new HorizontalCalendar.Builder(root, R.id.calendarView)
            .startDate(startDate.getTime())
            .endDate(endDate.getTime())
            .datesNumberOnScreen(5)
            .dayNameFormat("EEE")
            .dayNumberFormat("dd")
            .monthFormat("MMM")
            .textSize(14f, 24f, 14f)
            .showDayName(true)
            .showMonthName(true)

            .build();

    horizontalCalendar.setCalendarListener(new HorizontalCalendarListener() {
        @Override
        public void onDateSelected(Date date, int position) {
       //Toast.makeText(getContext(), DateFormat.getDateInstance().format(date) + " is selected!", Toast.LENGTH_SHORT).show();
        }

      });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...