datepicker-timeline

An infinite scrolling timeline to pick a date.

datepicker-timeline

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);

GitHub