CustomDateTimePicker

CustomDateTimePicker is a A simple Android library for displaying a DateAndTimePicker with From and To ranges as a custom dialog. This custom picker allow user to pick both date and time in same dialog at same time.

customdatetimepickerafter

customdatetimepickerbeforetime

customdatetimepickerbefore

Installation

Add Jitpack to your project build.gralde file

  allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

}

Then add this dependency to your app build.gradle file.

  dependencies {
        implementation 'https://github.com/noowenz/CustomDateTimePicker:latest-release'
}

Usage

Make sure your Activity/Fragment implements ICustomDateTimeListener, and then you
can just do this:

CustomDateTimePicker(this)
	.setDate( Calendar.getInstance())
	.showDialog()

You can see this in action in the sample app here

Customization

You can customize things like bellow

  CustomDateTimePicker(this, object : CustomDateTimePicker.ICustomDateTimeListener {
        @SuppressLint("BinaryOperationInTimber")
        override fun onSet(
            dialog: Dialog,
            calendarSelected: Calendar,
            dateSelected: Date,
            year: Int,
            monthFullName: String,
            monthShortName: String,
            monthNumber: Int,
            day: Int,
            weekDayFullName: String,
            weekDayShortName: String,
            hour24: Int,
            hour12: Int,
            min: Int,
            sec: Int,
            AM_PM: String
        ) {
            //Get any time of date and time data here and process further...
        }

        override fun onCancel() {
           
        }
    }).apply {
        set24HourFormat(false)//24hr format is off
        setMaxMinDisplayDate(
            minDate = Calendar.getInstance().apply { add(Calendar.MINUTE, 5) }.timeInMillis,//min date is 5 min after current time
            maxDate = Calendar.getInstance().apply { add(Calendar.YEAR, 1) }.timeInMillis//max date is next 1 year 
        )
        setMaxMinDisplayedTime(5)//min time is 5 min after current time
        setDate(Calendar.getInstance())//date and time will show in dialog is current time and date. We can change this according to our need
        showDialog()
    }

GitHub