{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}

TimePickerState

@ExperimentalMaterial3Api
public final class 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

Nested types

public static class TimePickerState.Companion

Public constructors

TimePickerState(int initialHour, int initialMinute, boolean is24Hour)

Public methods

final int
final int
final boolean
final void

Public constructors

TimePickerState

public TimePickerState(int initialHour, int initialMinute, boolean is24Hour)
Parameters
int initialHour

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

int initialMinute

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

boolean is24Hour

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 methods

getHour

public final int getHour()

getMinute

public final int getMinute()

is24hour

public final boolean is24hour()

settle

public final void settle()