An infinite scrolling timeline to pick a date
datepicker-timeline
An infinite scrolling timeline to pick a date.
Setup
Minimum api level: 14
First, add jitpack in your build.gradle at the end of repositories:
repositories {
// ...
maven { url "https://jitpack.io" }
}
Then, add the library dependency:
compile 'com.github.badoualy:datepicker-timeline:c6dcd05737'
Now go do some awesome stuff!
Usage
Warning: Note that the month value is always between 0 and 11 due to the use of the Calendar API.
Add the view to your xml
<com.github.badoualy.datepicker.DatePickerTimeline
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
Setup the first visible date via the code
timeline.setFirstVisibleDate(2016, Calendar.JULY, 19);
You can also set the limit date
timeline.setLastVisibleDate(2020, Calendar.JULY, 19);
Supply a label adapter to add a label below each date if needed
timeline.setDateLabelAdapter(new MonthView.DateLabelAdapter() {
@Override
public CharSequence getLabel(Calendar calendar, int index) {
return Integer.toString(calendar.get(Calendar.MONTH) + 1) + "/" + (calendar.get(Calendar.YEAR) % 2000);
}
});
Set a listener to be notified when the user select a date
timeline.setOnDateSelectedListener(new DatePickerTimeline.OnDateSelectedListener() {
@Override
public void onDateSelected(int year, int month, int day, int index) {
}
});
You can the the date manually
timeline.setSelectedDate(2017, Calendar.JULY, 19);