Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/k0shk0sh/RetainedDateTimePickers

Android Library to help you with your date & time pickers while retaining the instance of the pickers on orientation change.
https://github.com/k0shk0sh/RetainedDateTimePickers

android-library datepickerdialog orientation-changes picker timepickerdialog

Last synced: 3 months ago
JSON representation

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

Awesome Lists containing this project

README

        

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

# Installation

#### Gradle
```groovy
compile 'com.github.k0shk0sh:RetainedDateTimePickers:1.0.2'
```

#### Maven
```xml

com.github.k0shk0sh
RetainedDateTimePickers
1.0.2
aar

```

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
```java
DatePickerFragmentDialog.newInstance().show(getSupportFragmentManager(), "DatePickerFragmentDialog");
```

- TimePickerDialog Only
```java
//default 12 hours format
TimePickerFragmentDialog.newInstance().show(getSupportFragmentManager(), "TimePickerFragmentDialog");
//24 hours format
TimePickerFragmentDialog.newInstance(true).show(getSupportFragmentManager(), "TimePickerFragmentDialog");
```

- DateTimePickerDialog
```java
DatePickerFragmentDialog.newInstance(true).show(getSupportFragmentManager(), "DatePickerFragmentDialog");
```

- Date & Time PickerDialog Customization
```java
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](http://www.apache.org/licenses/LICENSE-2.0)
license (see the LICENSE file).