TimePickerState



A class to handle state changes in a TimePicker

import androidx.compose.foundation.layout.Box
import androidx.compose.material3.Button
import androidx.compose.material3.SnackbarHost
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Text
import androidx.compose.material3.TimePicker
import androidx.compose.material3.rememberTimePickerState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.window.Dialog

var showTimePicker by remember { mutableStateOf(false) }
val state = rememberTimePickerState()
val formatter = remember { SimpleDateFormat("hh:mm a", Locale.getDefault()) }
val snackState = remember { SnackbarHostState() }
val snackScope = rememberCoroutineScope()

Box(propagateMinConstraints = false) {
    Button(
        modifier = Modifier.align(Alignment.Center),
        onClick = { showTimePicker = true }
    ) {
        Text("Set Time")
    }
    SnackbarHost(hostState = snackState)
}

if (showTimePicker) {
    TimePickerDialog(
        onCancel = { showTimePicker = false },
        onConfirm = {
            val cal = Calendar.getInstance()
            cal.set(Calendar.HOUR_OF_DAY, state.hour)
            cal.set(Calendar.MINUTE, state.minute)
            cal.isLenient = false
            snackScope.launch {
                snackState.showSnackbar("Entered time: ${formatter.format(cal.time)}")
            }
            showTimePicker = false
        },
    ) {
        TimePicker(state = state)
    }
}

Summary

Public companion functions

Saver<TimePickerState, *>

The default Saver implementation for TimePickerState.

Cmn

Public constructors

TimePickerState(initialHour: Int, initialMinute: Int, is24Hour: Boolean)
Cmn

Public functions

suspend Unit
Cmn

Public properties

Int
Cmn
Boolean
Cmn
Int
Cmn

Public companion functions

Saver

fun Saver(): Saver<TimePickerState, *>

The default Saver implementation for TimePickerState.

Public constructors

TimePickerState

TimePickerState(initialHour: Int, initialMinute: Int, is24Hour: Boolean)
Parameters
initialHour: Int

starting hour for this state, will be displayed in the time picker when launched Ranges from 0 to 23

initialMinute: Int

starting minute for this state, will be displayed in the time picker when launched. Ranges from 0 to 59

is24Hour: Boolean

The format for this time picker false for 12 hour format with an AM/PM toggle or true for 24 hour format without toggle.

Public functions

settle

suspend fun settle(): Unit

Public properties

hour

val hourInt

is24hour

val is24hourBoolean

minute

val minuteInt