Date Range Picker

Date Range Picker is a Calender Picker View to show a Customized Date Range Picker with improved UI

Download

Screenshots

alt text alt text

Usage

    1. Add Calendar Picker View to XML
<com.savvi.rangepicker.CalendarPickerView
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/calendar_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="16dp"
        android:paddingRight="16dp"
        android:paddingBottom="16dp"
        android:scrollbarStyle="outsideOverlay"
        android:clipToPadding="false"
        app:tsquare_dividerColor="@color/transparent"
        app:tsquare_headerTextColor="@color/custom_header_text"
        /> 
    1. Initialize it in Java Class
calendar = (CalendarPickerView) findViewById(R.id.calendar_view);

        calendar.init(lastYear.getTime(), nextYear.getTime()) //
                .inMode(CalendarPickerView.SelectionMode.RANGE) //
                .withSelectedDate(new Date());
 
  • Adding Unavailable Dates These dates will be shown in Red color and marked unavailable
ArrayList<Date> arrayList = new ArrayList<>();
//add dates which you want to unavailable
calendar.makeUnavailable(arrayList);
  • Adding Deactivated Dates User wont able to select these dates thwy will be deactivated. for eg, if you dont want to provide services on Saturday and Sunday you can mark them deactivated with grey color
ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(7);
        
calendar.deactivateDates(list);
  • Getting Selected Dates You can get selected dates with the below function call when your user click finish or next button(which will you implement) Dont forget to exclude Unavailable dates from the selected dates, its a bug so I will soon fix it.
calendar.getSelectedDates()

Import DateRangePicker dependency

declare it into your pom.xml

<dependency>
  <groupId>com.savvi.datepicker</groupId>
  <artifactId>rangepicker</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

or into your build.gradle

dependencies {
    compile 'com.savvi.datepicker:rangepicker:1.0.1'
}