Skip to content

Android Library to help you with your date & time pickers while retaining the instance of the pickers on orientation change.

License

Notifications You must be signed in to change notification settings

k0shk0sh/RetainedDateTimePickers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Kosh
Jan 21, 2017
d547021 · Jan 21, 2017

History

19 Commits
Jan 21, 2017
Sep 28, 2016
Jan 21, 2017
Jan 21, 2017
Sep 27, 2016
Sep 27, 2016
Jan 21, 2017
Jan 21, 2017
Jan 21, 2017
Sep 27, 2016
Sep 27, 2016
Sep 27, 2016

Repository files navigation

RetainedDateTimePickers

Android Library to help you with your date & time pickers while retaining the instance of the pickers on orientation change.

Installation

Gradle

compile 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2'

Maven

<dependency>
  <groupId>com.github.k0shk0sh</groupId>
  <artifactId>RetainedDateTimePickers</artifactId>
  <version>1.0.2</version>
  <type>aar</type>
</dependency>

Usage

Your Activity or Fragment must implement DatePickerCallback and or TimePickerCallback to receive the selected date & selected time if applicable.

RetainedDateTimePickers should be treated as any normal DialogFragment:

  • DatePickerDialog Only
DatePickerFragmentDialog.newInstance().show(getSupportFragmentManager(), "DatePickerFragmentDialog");
  • TimePickerDialog Only
//default  12 hours format
TimePickerFragmentDialog.newInstance().show(getSupportFragmentManager(), "TimePickerFragmentDialog");
//24 hours format
TimePickerFragmentDialog.newInstance(true).show(getSupportFragmentManager(), "TimePickerFragmentDialog");
  • DateTimePickerDialog
DatePickerFragmentDialog.newInstance(true).show(getSupportFragmentManager(), "DatePickerFragmentDialog");
  • Date & Time PickerDialog Customization
DatePickerFragmentDialog.newInstance(
        DateTimeBuilder.get()
                .withTime(true)
                .with24Hours(true)
                .withSelectedDate(currentDate.getTimeInMillis())
                .withMinDate(minDate.getTimeInMillis())
                .withMaxDate(maxDate.getTimeInMillis())
                .withCurrentHour(12)
                .withCurrentMinute(30)
                .withTheme(R.style.PickersTheme))
        .show(getSupportFragmentManager(), "DatePickerFragmentDialog");

To understand more how the library works, please take a look at the sample app.

Screenshots

  • Pickers Portrait Mode

- **Pickers Landscape Mode**

- **Pickers Custom Themes via Styles**

Why this library?

  • DatePickerDialog & TimePickerDialog are not retained on orientation change, you'd do a lot of work to retain them, this library simplify that.
  • It uses DatePickerDialog & TimePickerDialog internally.
  • Its simple to use.
  • Its Customizable (Support Custom Themes).
  • Minimum API is 16, but it'll probably work in API 9 and above, just make sure you test it out (we use Support Fragment).

Dependency

Android Support Fragment Library v24.2.1

Pull requests are welcomed.

Copyright Notice

Copyright (C) 2016 Kosh. Licensed under the Apache 2.0 license (see the LICENSE file).

About

Android Library to help you with your date & time pickers while retaining the instance of the pickers on orientation change.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages