2015-11-21 115 views
2

我想實現一個像這樣下面的自定義日曆,當我可以按下或點擊任何日期的圖像。如果點擊日期包含任何存儲的事件,則日曆將展開以顯示像圖像這樣的事件列表,敬請提前致謝。自定義日曆與事件

enter image description here

+0

您可以使用第三方庫,並根據你的需要,你可以改變它 – curiousMind

+0

你我知道親愛的,但你能建議我從哪裏可以得到提示的任何鏈接。 –

+0

你的問題是什麼? – Blip

回答

0

您可以根據下面的鏈接定製你的日曆,它的存儲的事件:

AgendaCalendarView

添加以下行到您的應用的build.gradle:

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

申報這個視圖在你的佈局中就像下面一樣,提供你自己的主題和顏色,如果你想要的話:

<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

嗨喬恩斯諾謝謝答覆,我嘗試根據我的要求自定義上面的例子,但我失敗了。你能幫我麼 ? –