A better looking implementation of Android's CalendarView. The goal is to have a more Material look and feel, rather than 100% parity with the platform's implementation.
- Add
compile 'com.prolificinteractive:material-calendarview:0.2.4'
to your dependencies. - Add
MaterialCalendarView
into your layouts or view hierarchy. - Set a
OnDateChangedListener
or callMaterialCalendarView.getSelectedDate()
when you need it.
One of the aims of this library is to be customizable. Below is an example of custom xml attributes available.
<com.prolificinteractive.materialcalendarview.MaterialCalendarView
android:id="@+id/calendarView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:showOtherDates="boolean"
app:arrowColor="color"
app:selectionColor="color"
app:headerTextAppearance="style"
app:dateTextAppearance="style"
app:weekDayTextAppearance="style"
app:weekDayLabels="array"
app:monthLabels="array"
/>
By default, only days of one month are shown. If this is set true
,
then days from the previous and next months are used to fill the empty space.
This also controls showing dates outside of the min-max range.
Set the color of the arrows used to page the calendar. Black by default.
Set the color of the date selector. By default this is the color set by
?android:attr/colorPrimary
on 5.0+ or ?attr/colorPrimary
from the AppCompat library.
Override the text appearance of the month-year indicator at the top.
Override the text appearance of the week day indicators.
Override the text appearance of the dates.
Supply custom labels for the days of the week. This sets an ArrayWeekDayFormatter
on the CalendarView
.
The default uses Java's Calendar
class to get a SHORT
display name.
Supply custom labels for the months of the year. This sets a MonthArrayTitleFormatter
on the CalendarView
.
The default implementation formats using SimpleDateFormat
with a "MMMM yyyy"
format.
Would you like to contribute? Fork us and send a pull request! Be sure to checkout our issues first.
Copyright 2014 Prolific Interactive
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.