WheelPickerCompose

603 stars
by Emir Demirli

Wheel Date and Time Picker for Jetpack Compose with customizable appearance and behavior.

View on GitHub

Documentation

WheelPickerCompose API

Add Wheel Date - Time Picker in Android Jetpack Compose.

README image

Usage

Picker Usage
README image
WheelDateTimePicker { snappedDateTime -> }
README image
WheelDatePicker { snappedDate -> }
README image
WheelTimePicker { snappedTime -> }
README image
WheelTimePicker(timeFormat = TimeFormat.AM_PM) { snappedTime -> }

Features

WheelDateTimePicker(
    startDateTime = LocalDateTime.of(
        2025, 10, 20, 5, 30
    ),
    minDateTime = LocalDateTime.now(),
    maxDateTime = LocalDateTime.of(
        2025, 10, 20, 5, 30
    ),
    timeFormat = TimeFormat.AM_PM,
    size = DpSize(200.dp, 100.dp),
    rowCount = 5,
    textStyle = MaterialTheme.typography.titleSmall,
    textColor = Color(0xFFffc300),
    selectorProperties = WheelPickerDefaults.selectorProperties(
        enabled = true,
        shape = RoundedCornerShape(0.dp),
        color = Color(0xFFf1faee).copy(alpha = 0.2f),
        border = BorderStroke(2.dp, Color(0xFFf1faee))
    )
){ snappedDateTime -> }

Setup

  1. Open the file settings.gradle (it looks like that)
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // add jitpack here 👇🏽
        maven { url 'https://jitpack.io' }
       ...
    }
} 
...
  1. Sync the project
  2. Add dependency
dependencies {
    implementation 'com.github.commandiron:WheelPickerCompose:1.1.11'
}
  1. < API 26 (optional)
compileOptions {
    coreLibraryDesugaringEnabled true
    //
}
//
dependencies {
    //
    coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.6"
}
Dispatch Newsletter
Be the first to discover new Compose libraries
Curated Insights
Digest in 5 minutes or less
Android Analysis
Entertaining takes on happenings
Insider Tips
From top Android developers
Hidden Gems
You won't find elsewhere
"
"Dispatch is a must read for Android devs today and my go-to for keeping up with all things Jetpack Compose. I eagerly await each issue, not just for the Compose gems honestly but for Vinay's unique insights, stories, and finds. The Dev Delight and Featured Dev sections are particular favorites of mine! He really should do a podcast."
Kaushik Gopal
Principal Engineer @ Instacart | Host of the Fragmented Podcast | GDE for Android
Join thousands of Android devs who look forward to Dispatch every week