Material3 themed Jetpack Compose date & time pickers.

Overview

Compose material3 Date1 and Time pickers

Build status Maven Central License

Highly customizable Jetpack Compose components with material3 support for date & time picking.

Contents

Latest version

0.6.0 (Changelog)

Versions

Dependency Version
Kotlin 1.8.0
Compose compiler 1.4.0
Compose BOM 2023.01.00
Material3 1.0.1

Usage

To use this library in your project, in your app module's build.gradle.kts add:

dependencies {
    implementation("com.marosseleng.android:compose-material3-datetime-pickers:<LATEST_VERSION>")
}

Single-date Datepicker

To display a datepicker dialog for a single-date selection, just call

@Composable
fun DatePickerDialog(
    onDismissRequest: () -> Unit,
    onDateChange: (LocalDate) -> Unit,
    modifier: Modifier = Modifier,
    initialDate: LocalDate? = null,
    locale: Locale = LocalConfiguration.current.getDefaultLocale(),
    today: LocalDate = LocalDate.now(),
    showDaysAbbreviations: Boolean = true,
    highlightToday: Boolean = true,
    colors: DatePickerColors = DatePickerDefaults.colors(),
    shapes: DatePickerShapes = DatePickerDefaults.shapes(),
    typography: DatePickerTypography = DatePickerDefaults.typography(),
    title: @Composable (() -> Unit)? = null,
    shape: Shape = AlertDialogDefaults.shape,
    containerColor: Color = AlertDialogDefaults.containerColor,
    titleContentColor: Color = AlertDialogDefaults.titleContentColor,
    tonalElevation: Dp = AlertDialogDefaults.TonalElevation,
    properties: DialogProperties = DialogProperties(usePlatformDefaultWidth = false),
)

There are only 2 required parameters:

  • onDismissRequest - called when the dialog should be dismissed without user selecting a value
  • onDateChange - called when user selected a value, passing it as a parameter

It is, however, recommended to also fill the title parameter, as it provides the title for the dialog.

Remaining parameters as well as the customization guide is described in the separate README.

Timepicker

To display a timepicker dialog, call

@Composable
fun TimePickerDialog(
    onDismissRequest: () -> Unit,
    onTimeChange: (LocalTime) -> Unit,
    modifier: Modifier = Modifier,
    initialTime: LocalTime = LocalTime.now().noSeconds(),
    locale: Locale = LocalConfiguration.current.getDefaultLocale(),
    is24HourFormat: Boolean = DateFormat.is24HourFormat(LocalContext.current),
    colors: TimePickerColors = TimePickerDefaults.colors(),
    shapes: TimePickerShapes = TimePickerDefaults.shapes(),
    typography: TimePickerTypography = TimePickerDefaults.typography(),
    title: @Composable (() -> Unit)? = null,
    shape: Shape = AlertDialogDefaults.shape,
    containerColor: Color = AlertDialogDefaults.containerColor,
    tonalElevation: Dp = AlertDialogDefaults.TonalElevation,
    properties: DialogProperties = DialogProperties(),
)

The 2 required parameters are:

  • onDismissRequest - called when the dialog should be dismissed without user selecting a value
  • onTimeChange - called when user selected a value, passing it as a parameter

It is, however, recommended to also fill the title parameter, as it provides the title for the dialog.

Remaining parameters as well as the customization guide is described in the separate README.

Java 8 and desugaring

This library uses the Java 8's java.time APIs such as LocalDate and LocalTime. If your targetSdk is less than 26, you have to enable desugaring:

In your module's build.gradle.kts add:

android {
    // ...
    compileOptions {
        isCoreLibraryDesugaringEnabled = true
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dependencies {
    // ...
    coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.2.2")
}

Contributing

While the library is currently ready to use as-is, until version 1.0.0 is released, it's API isn't considered stable. Contributions in the form of API changes suggestions and discussions are very welcome.

License

Copyright 2022 Maroš Šeleng

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.

Footnotes

  1. Date picker for range selection is still a work in progress.

Comments
  • Swipe to change month

    Swipe to change month

    I had at one point considered making my own material 3 datetime dialogs library when I found this, which is pretty much exactly what I was looking for.

    One of the things in the Material 3 spec for modal date pickers is the ability to swipe horizontally to switch months, and I was wondering if you planned to implement that? Maybe with a paging library like Accompanist?

    enhancement datepicker related 
    opened by HairyOtter07 3
  • Time picker inner container color can't be changed

    Time picker inner container color can't be changed

    I tried out changing all the colors of the time picker to a dark theme, but found that the color of the switch and dial container can't be accessed. ContainerColor only changes the outer container. timer

    To clarify i have used all the accessible colors. colors

    opened by halfawatermelon 1
  • Update version-showkase to v1.0.0-kotlin1.5.30-1

    Update version-showkase to v1.0.0-kotlin1.5.30-1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.airbnb.android:showkase-processor | 1.0.0-beta17 -> 1.0.0-kotlin1.5.30-1 | age | adoption | passing | confidence | | com.airbnb.android:showkase | 1.0.0-beta17 -> 1.0.0-kotlin1.5.30-1 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 1
  • minSdkVersion 26 too restrictive

    minSdkVersion 26 too restrictive

    Having 26 as min version is very restrictive. From my experience, 21 or at maximum 23 is widely used for the minSdkVersion. It's a pity to limit such a useful library to such a high minSdkVersion. Is the reason to use 26 because of the usage of the most recent Java time APIs? If so, would using desugaring or maybe migrating to ThreeTen be a possibility?

    Thanks for the great work!

    enhancement 
    opened by Tgo1014 1
  • Update dependency app.cash.paparazzi to v1.2.0

    Update dependency app.cash.paparazzi to v1.2.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | app.cash.paparazzi | 1.2.0-SNAPSHOT -> 1.2.0 | age | adoption | passing | confidence |


    Release Notes

    cashapp/paparazzi

    v1.2.0

    2023-01-18

    New
    • Migrate Paparazzi to layoutlib Electric Eel 2022.1.1
    • Add support for RenderingMode.SHRINK to allow view-only screenshots
    • Expose flag to show/hide system ui
    • Register a default OnBackPressedDispatcherOwner if its present in classpath
    • Bump default compileSdk to API 33
    • Compose 1.3.1
    • Kotlin 1.7.20
    • [Gradle Plugin] Gradle 7.6
    • [Gradle Plugin] Android Gradle Plugin 7.4.0
    Fixed
    • Flush errors on unsafeUpdateConfig
    • Only apply wear circle shape to full device screenshots
    • Synchronize access to Handler_Delegate.queue
    • Apply compose hooks to all snapshot calls
    • Register LifecycleOwner and SavedStateRegistryOwner to all views
    • Execute Handler callbacks after snapshots to clean up Compose references
    • Fix RecyclerView issue due to layoutlib Dolphin update
    • Keep AGP and tools dependencies aligned

    Kudos to @​gamepro65, @​saket, @​rharter and others for contributions this release!


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency androidx.compose.compiler:compiler to v1.4.0

    Update dependency androidx.compose.compiler:compiler to v1.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | androidx.compose.compiler:compiler (source) | 1.3.2 -> 1.4.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency com.android.library to v7.4.0

    Update dependency com.android.library to v7.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.library (source) | 7.3.1 -> 7.4.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency com.android.application to v7.4.0

    Update dependency com.android.application to v7.4.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.application (source) | 7.3.1 -> 7.4.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency androidx.compose:compose-bom to v2023

    Update dependency androidx.compose:compose-bom to v2023

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | androidx.compose:compose-bom | 2022.12.00 -> 2023.01.00 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency androidx.appcompat:appcompat to v1.6.0

    Update dependency androidx.appcompat:appcompat to v1.6.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | androidx.appcompat:appcompat (source) | 1.5.1 -> 1.6.0 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency org.junit:junit-bom to v5.9.2

    Update dependency org.junit:junit-bom to v5.9.2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.junit:junit-bom (source) | 5.9.1 -> 5.9.2 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency org.junit-pioneer:junit-pioneer to v2.0.0

    Update dependency org.junit-pioneer:junit-pioneer to v2.0.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.junit-pioneer:junit-pioneer | 2.0.0-RC1 -> 2.0.0 | age | adoption | passing | confidence |


    Release Notes

    junit-pioneer/junit-pioneer

    v2.0.0

    Changelog generated by Shipkit Changelog Gradle Plugin

    2.0.0

    Prominent changes:

    • 2023-02-02 - 2 commit(s) by Róbert Papp, sullis
    • Fix typo to let the warning render correctly on environment variables docs (#​710)

    Other changes:


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update kotlin monorepo to v1.8.10

    Update kotlin monorepo to v1.8.10

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.jetbrains.kotlin.kapt (source) | 1.8.0 -> 1.8.10 | age | adoption | passing | confidence | | org.jetbrains.kotlin.plugin.parcelize (source) | 1.8.0 -> 1.8.10 | age | adoption | passing | confidence | | org.jetbrains.kotlin.android (source) | 1.8.0 -> 1.8.10 | age | adoption | passing | confidence |


    Release Notes

    JetBrains/kotlin

    v1.8.10: Kotlin 1.8.10

    Changelog
    Compiler
    • KT-55483 K2: Fir is not initialized for FirRegularClassSymbol java/lang/invoke/LambdaMetafactory
    • KT-55729 "None of the following functions can be called with the arguments supplied:" in 1.8.0
    • KT-55769 "ERROR: Could not find accessor": Android DataBinding fails with Kotlin 1.8.0
    • KT-55308 InnerClass attributes should be sorted (innermost last)
    JavaScript
    • KT-56282 KJS: Invalidate incremental cache in case of compiler internal errors
    • KT-55852 JS: "IllegalStateException: Unexpected ir type argument" caused by List with star projection type
    • KT-55716 KJS / IC: "Cannot read properties of undefined" with overriding variables with 1.8.0
    • KT-55758 KJS / IR: Checking implemented interface on a class implementing a @​JsExport interface returns the wrong result
    Reflection
    • KT-56093 Metaspace leak in a Gradle plugin built with Kotlin 1.8.0
    Tools. Compiler plugins. Serialization
    • KT-56347 [Kotlin 1.8] Regression kotlinx.serialization compiler plugin internal error
    • KT-55681 Serialization: NullPointerException after update to 1.8.0 caused by @Serializer(forClass= ..)
    • KT-56244 kotlinx.serialization compiler intrinsic does not work with encodeToString function in 1.8.0
    • KT-55683 Serialization: "IllegalStateException: Expected to have a primary constructor" with expect class and companion object
    • KT-55682 Serialization: "IllegalStateException: Function has no body: FUN name:serializer" with 1.8.0
    Tools. Gradle
    • KT-55697 KGP 1.8.0 adds compileOnly dependencies to unit test compile classpath
    Tools. Gradle. Multiplatform
    • KT-55730 MPP / Gradle: compileKotlinMetadata fails to resolve symbols in additional source sets
    Tools. Gradle. Native
    • KT-56280 Gradle: freeCompilerArgs are no longer propagated from compilations to Native binaries
    Tools. Kapt
    • KT-48013 Kapt generates illegal stubs for private interface methods
    Checksums

    | File | Sha256 | | --- | --- | | kotlin-compiler-1.8.10.zip | 4c3fa7bc1bb9ef3058a2319d8bcc3b7196079f88e92fdcd8d304a46f4b6b5787 | | kotlin-native-linux-x86_64-1.8.10.tar.gz | 4c5c8a82a63a3a9845be2514d536ca407340db7fc558b97c43ed003f866a9742 | | kotlin-native-macos-x86_64-1.8.10.tar.gz | 52ea7cf2dfaae058fc00fc4e00ec89fefe5a7e4c83abeadb7531cc9346ff18db | | kotlin-native-macos-aarch64-1.8.10.tar.gz | 08cef514e9d582b0e7bcf3f592dd853270b535a4b765555db97381aeb8c92a85 | | kotlin-native-windows-x86_64-1.8.10.zip | e8b9a04f0df3cdec6fa360a6781723fc8551e93c70dfd1aaffbd282b7cddc19d |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about these updates again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency com.android.library to v7.4.1

    Update dependency com.android.library to v7.4.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.library (source) | 7.4.0 -> 7.4.1 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency com.android.application to v7.4.1

    Update dependency com.android.application to v7.4.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.application (source) | 7.4.0 -> 7.4.1 | age | adoption | passing | confidence |


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Update dependency com.android.tools:desugar_jdk_libs to v2

    Update dependency com.android.tools:desugar_jdk_libs to v2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.android.tools:desugar_jdk_libs | 1.2.2 -> 2.0.1 | age | adoption | passing | confidence |


    Release Notes

    google/desugar_jdk_libs

    v2.0.1

    • Updated the JDK-11 based release fixing multiple issues. Version 2.0.0 should be considered a beta release.
    • Require AGP version 7.4.0 or later (Android Studio 2022.1.1 stable).

    v2.0.0

    • Release based on JDK-11. Require AGP version 7.4.0-alpha10 or later (Android Studio 2022.1.1).
    • Supports three different configurations desugar_jdk_libs_minimal, desugar_jdk_libs and desugar_jdk_libs_nio.
      • desugar_jdk_libs_minimal limits desugaring to package java.util.function and class java.util.Optional.
      • desugar_jdk_libs desugars the same APIs as in version 1.1.x and 1.2.x.
      • desugar_jdk_libs_nio includes desugaring of package java.nio.

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Standalone year picker

    Standalone year picker

    First of all, thank you for this great project!

    I'm currently building an app where it would be useful to not only have a date picker dialog, but also a standalone year picker dialog. I took a quick look at the code, and I think it might be possible to re-use YearSelection for creating a year picker dialog without much work.

    What do you think?

    enhancement datepicker related 
    opened by mvforell 1
Releases(v0.6.0)
  • v0.6.0(Jan 23, 2023)

    What's Changed

    • Update kotlin monorepo to v1.8.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/25
    • Update dependency androidx.compose.compiler:compiler to v1.4.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/67

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.5.0...v0.6.0

    Source code(tar.gz)
    Source code(zip)
  • v0.5.0(Jan 21, 2023)

    What's Changed

    • Add horizontal swipe gestures detection. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/61
    • Fix some minor UI issues with time picker. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/63
    • Proper semantics modifiers by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/64
    • Update dependency app.cash.paparazzi to v1.2.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/68
    • Fix dialog UIs. Do not use AlertDialog.title property. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/69
    • Feature/v1 docs by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/70

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.4.0...v0.5.0

    Source code(tar.gz)
    Source code(zip)
  • v0.4.0(Jan 14, 2023)

    API changes

    • Easier theming - DatePickerDefaults and TimePickerDefaults now provide functions instead of fields with default colors, shapes and typography(#42).

    What's Changed

    • Update dependency androidx.compose:compose-bom to v2023 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/55
    • Update dependency androidx.appcompat:appcompat to v1.6.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/54
    • Update dependency com.android.library to v7.4.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/58
    • Update dependency com.android.application to v7.4.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/57
    • Feature/screenshot tests by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/56
    • Add support for easier theming. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/42

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
  • v0.3.0(Jan 10, 2023)

    What's Changed

    • Add junit Bill of Materials. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/37
    • Update dependency androidx.test.ext:junit to v1.1.5 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/41
    • Update dependency androidx.test.espresso:espresso-core to v3.5.1 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/40
    • Fix/unify dialog picker api by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/44
    • Add offset/padding to MonthYearSelection. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/45
    • Take Locale from configuration. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/46
    • Fix MonthYearSelection offset. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/47
    • Set minSdk to 21. Add desugaring. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/43
    • Adjust androidTest actions by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/51
    • Update dependency org.junit:junit-bom to v5.9.2 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/49

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Dec 23, 2022)

    What's Changed

    • Feature/datepicker by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/34
    • Bump version to 0.2.0. by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/35

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.1.2...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.2(Dec 15, 2022)

    What's Changed

    • Update dependency gradle to v7.6 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/31
    • Update dependency androidx.test.ext:junit to v1.1.4 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/26
    • Update dependency androidx.compose.material3:material3 to v1.0.1 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/28
    • Update dependency androidx.test.espresso:espresso-core to v3.5.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/27
    • Update dependency androidx.compose:compose-bom to v2022.11.00 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/29
    • Update dependency androidx.compose:compose-bom to v2022.12.00 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/32
    • Feature/improve readme by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/33

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/compare/v0.1.1...v0.1.2

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Oct 28, 2022)

  • v0.1.0(Oct 28, 2022)

    Initial release

    What's Changed

    • Timepicker support
    • Feature/timepicker wide by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/15
    • Update dependency com.android.library to v7.3.1 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/14
    • Update dependency com.android.application to v7.3.1 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/13
    • Feature/add readme by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/16
    • Update dependency androidx.activity:activity-compose to v1.6.1 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/19
    • Update version-compose-base to v1.3.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/21
    • Update dependency androidx.compose.material3:material3 to v1.0.0 by @renovate in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/20
    • Add support for Compose BOM. Update README to reflect new versions of… by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/23
    • Feature/publish task by @marosseleng in https://github.com/marosseleng/compose-material3-datetime-pickers/pull/24

    Full Changelog: https://github.com/marosseleng/compose-material3-datetime-pickers/commits/v0.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
Maroš Šeleng
Maroš Šeleng
Time-DatePicker - A Simple Time Date Picker With Kotlin

Time-DatePicker Time.DatePicker.mp4

Faysal Hossain 0 Jan 19, 2022
Pick a date or time on Android in style

Material DateTime Picker - Select a time/date in style Material DateTime Picker tries to offer you the date and time pickers as shown in the Material

null 4.7k Jan 4, 2023
A material-styled android view that provisions picking of a date, time & recurrence option, all from a single user-interface.

SublimePicker A customizable view that provisions picking of a date, time & recurrence option, all from a single user-interface. You can also view 'Su

Vikram 2.3k Jan 4, 2023
A date time range picker for android written in Kotlin

DateTimeRangePicker A date time range picker for android Usage Firstly, grab latest release of the library via JitPack. And note that, it utilizes Jod

SkedGo 501 Dec 31, 2022
Standalone Android widget for picking a single date from a calendar view.

TimesSquare for Android Standalone Android widget for picking a single date from a calendar view. Usage Include CalendarPickerView in your layout XML.

Square 4.4k Dec 20, 2022
A material Date Range Picker based on wdullaers MaterialDateTimePicker

Material Date and Time Picker with Range Selection Credits to the original amazing material date picker library by wdullaer - https://github.com/wdull

Supratim 1.3k Dec 14, 2022
A material Date Range Picker based on wdullaers MaterialDateTimePicker

Material Date and Time Picker with Range Selection Credits to the original amazing material date picker library by wdullaer - https://github.com/wdull

Supratim 1.3k Dec 14, 2022
An android app that can calculate the minutes from the date the user entered, till today.

AgeInMinutesApp An android app that can calculate the minutes from the date the user entered, till today. If user tap Select Date button, Calender dia

Gurkan 0 Mar 16, 2022
Android time range picker

TimeRangePicker TimeRangePicker is a library which can be used to select a time range. WARNING Requires android-support-v4 Description This library pr

Titto Jose 422 Nov 10, 2022
Amazing Dynamic Time UI :clock1030: :hourglass: and More

FlatTimeCollection Amazing Dynamic Time UI ?? ⌛ for Android To help you design your Layout. it is Not just a UI, But it contains a CountDownTimer with

Anas Altair 72 Apr 28, 2022
A customizable, easy-to-use, and functional circular time range picker library for Android

A customizable, easy-to-use, and functional circular time range picker library for Android. Use this library to mimic Apple's iOS or Samsung's bedtime picker.

Joery Droppers 251 Dec 30, 2022
Appleader707 1 Aug 9, 2022
JetCalendarView - A calendar library for Jetpack Compose

JetCalendar WIP 2022 Hit Refresh! Calendar view ❤️ Jetpack Compose License Copyr

Anmol Verma 8 Aug 17, 2022
Kalendar - A calendar to integrate Calendar with Custom design in your jetpack compose project

Kalendar - An Elementary Compose Calendar. This is a calendar to integrate Calen

Himanshu Singh 494 Jan 2, 2023
JetCountrypicker - Country code bottomsheet picker in Jetpack Compose

JetCountryPicker Country code bottomsheet picker in Jetpack Compose How to add i

Canopas Software 30 Nov 17, 2022
Alwan 🎨 is an Android Jetpack Compose color picker library.

Alwan Alwan is an Android Jetpack Compose color picker library. Preview Recording.mp4 Download Gradle: dependencies { implementation 'com.raedapps:a

Raed Mughaus 6 Sep 16, 2022
Android interval timer app using compose + compose navigation, dagger hilt, room, kotlin coroutines + flow and mvvm design pattern.

What's InTime? ⏳ InTime is an interval timer application using android jetpack components and a long running service. The purpose of this project is t

P. 46 Oct 10, 2022
Android DatePicker with month and year build with Compose UI

Compose Date Picker - Select month and year Compose Date Picker tries to offer you the year and month pickers which you can customize for your require

Doğuş Teknoloji 48 Jan 7, 2023
A simple compose weight picker drawn with canvas.

CanvasWeightPicker A simple compose weight picker drawn with canvas. Features Drag scale to select weight Haptic feedback on weight selected Video of

Timothy Serem 5 Dec 2, 2022