Based on [SmoothDateRangePicker by leavjenn] (https://github.com/leavjenn/SmoothDateRangePicker)
Smooth Date Range Picker is an android widget for selecting date range quickly and easily, following Material Design principle. This library is based on datetimepicker from Android frameworks and Material DateTime Picker by wdullaer.
Date Range Picker | Duration Number Pad | Date Range Picker Dark Theme | Date Range Picker Landscape |
---|---|---|---|
Date Disable Enable Controls | Start Date Disabled | End Date Disabled | End Date Disabled Landscape Dark Theme |
---|---|---|---|
Gradle:
Add jitpack repository into project build.gradle
:
repositories {
maven { url "https://jitpack.io" }
}
Add the following into app build.gradle
:
dependencies {
implementation 'com.github.wsbak:SmoothDateRangePicker:0.4.1'
}
Since SmoothDateRangePickerFragment is a subclass of DialogFragment, the usage is just like other DialogFragment.
Instantiation, the default selected date is set to today:
SmoothDateRangePickerFragment.newInstance(SmoothDateRangePickerFragment.OnDateRangeSetListener callBack)
After instantiation, remember to call
show (FragmentManager manager, String tag)
Example:
SmoothDateRangePickerFragment smoothDateRangePickerFragment = SmoothDateRangePickerFragment.newInstance(
new SmoothDateRangePickerFragment.OnDateRangeSetListener() {
@Override
public void onDateRangeSet(SmoothDateRangePickerFragment view,
Calendar calendarStart,
Calendar calendarEnd) {
// grab the date range, do what you want
// calendarStart or calendarEnd can be null if user disable it
}
});
smoothDateRangePickerFragment.show(getFragmentManager(), "smoothDateRangePicker");
Change picker accent color:
setAccentColor(int color)
Change picker theme to dark:
setThemeDark(true)
Set selectable minimal date:
setMinDate(Calendar calendar)
Set selectable max date:
setMaxDate(Calendar calendar)
Set the default selected start date:
setStartDate(Calendar calendar)
Set the default selected end date:
setEndDate(Calendar calendar)
Show disable/enable date control:
setShowDateEnableDisable(true)
Disable start date:
enableStartDate(false)
Disable end date:
enableEndDate(false)
Hide duration:
setShowDuration(false)
Copyright (c) 2015 Leav Jenn
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.