2015-11-21 2 views
2

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

enter image description here

+0

вы можете использовать библиотеку третьей стороны и в соответствии с вашими потребностями вы можете изменять его – curiousMind

+0

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

+0

Что вы думаете? – Blip

ответ

0

Вы можете настроить свой календарь и он хранится события по следующей ссылке:

AgendaCalendarView

Добавить ниже линий в build.gradle вашего приложения:

compile 'com.github.tibolte:agendacalendarview:1.0.1' 

Declare это представление в вашем макете, как показано ниже, с указанием вашей собственной темы и цветов, если вы хотите:

<com.github.tibolte.agendacalendarview.AgendaCalendarView 
    android:id="@+id/agenda_calendar_view" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    agendaCalendar:agendaCurrentDayTextColor="@color/theme_primary" 
    agendaCalendar:calendarColor="@color/theme_primary" 
    agendaCalendar:calendarCurrentDayTextColor="@color/calendar_text_current_day" 
    agendaCalendar:calendarDayTextColor="@color/theme_text_icons" 
    agendaCalendar:calendarHeaderColor="@color/theme_primary_dark" 
    agendaCalendar:calendarPastDayTextColor="@color/theme_light_primary" 
    agendaCalendar:fabColor="@color/theme_accent" /> 

Затем настройте его в коде с начальной и конечной датой, связанной со списком событий:

// minimum and maximum date of our calendar 
    // 2 month behind, one year ahead, example: March 2015 <-> May 2015 <-> May 2016 
    Calendar minDate = Calendar.getInstance(); 
    Calendar maxDate = Calendar.getInstance(); 

    minDate.add(Calendar.MONTH, -2); 
    minDate.set(Calendar.DAY_OF_MONTH, 1); 
    maxDate.add(Calendar.YEAR, 1); 

    List<CalendarEvent> eventList = new ArrayList<>(); 
    mockList(eventList); 

    mAgendaCalendarView.init(eventList, minDate, maxDate, Locale.getDefault(), this); 
+0

спасибо jon. позвольте мне проверить –

+0

привет Jon Snow спасибо за ответ, я пытаюсь настроить выше пример в соответствии с моим требованием, но я терплю неудачу. не могли бы вы мне помочь ? –

Смежные вопросы