टाइम पिकर की मदद से उपयोगकर्ता समय चुन सकते हैं. आप
समय लागू करने के लिए, TimePicker
और TimeInput
कंपोज़ेबल का इस्तेमाल करें
पिकर की सुविधा का इस्तेमाल करें.
प्रकार
टाइम पिकर दो तरह के होते हैं:
- डायल: इसकी मदद से, उपयोगकर्ता डायल के हैंडल को घुमाकर समय सेट कर सकते हैं.
- इनपुट: इसकी मदद से उपयोगकर्ता, अपने कीबोर्ड का इस्तेमाल करके समय सेट कर सकते हैं.
नीचे दी गई इमेज में, बाईं ओर डायल टाइम पिकर का उदाहरण दिया गया है. दाईं ओर एक इनपुट समय पिकर:

एपीआई प्लैटफ़ॉर्म
टाइम पिकर लागू करने के लिए, TimePicker
या TimeInput
के साथ काम करने वाले कॉम्पोनेंट का इस्तेमाल करें:
TimePicker
: यह सुविधा, डायल टाइम पिकर की सुविधा का इस्तेमाल करती है.TimeInput
: समय चुनने के लिए इनपुट पिकर लागू करता है.
राज्य
TimePicker
और TimeInput
दोनों के लिए, आपको एक
TimePickerState
. इसकी मदद से, पिकर पर दिखने वाला डिफ़ॉल्ट समय चुना जा सकता है. यह उस समय को भी कैप्चर करता है जिसे उपयोगकर्ता ने पिकर का इस्तेमाल करके चुना है.
डायलॉग
टाइम पिकर, डायलॉग में दिखते हैं. इस गाइड में दिए गए उदाहरणों में डायलॉग का इस्तेमाल नहीं किया गया है. डॉयलॉग का इस्तेमाल करने वाले उदाहरणों के लिए, टाइम पिकर के लिए डॉयलॉग गाइड देखें.
डायल टाइम पिकर
इस स्निपेट में, समय चुनने के लिए बुनियादी डायल को लागू करने का तरीका बताया गया है.
@Composable fun DialExample( onConfirm: () -> Unit, onDismiss: () -> Unit, ) { val currentTime = Calendar.getInstance() val timePickerState = rememberTimePickerState( initialHour = currentTime.get(Calendar.HOUR_OF_DAY), initialMinute = currentTime.get(Calendar.MINUTE), is24Hour = true, ) Column { TimePicker( state = timePickerState, ) Button(onClick = onDismiss) { Text("Dismiss picker") } Button(onClick = onConfirm) { Text("Confirm selection") } } }
इस स्निपेट में, यहां दी गई बातों का ध्यान रखें:
Calendar.getInstance()
,TimePickerState
को मौजूदा वैल्यू से शुरू करता है समय.- इस उदाहरण में
java.util.Calendar
का इस्तेमाल किया गया है. अपने प्रोजेक्ट में Java 8+ एपीआई को डीसुगर करने की सुविधा चालू करें, ताकि सभी Android वर्शन परjava.time.LocalTime
का इस्तेमाल किया जा सके.
- इस उदाहरण में
TimePicker
कंपोज़ेबल, टाइम पिकर को दिखाता है. यह टूल, पैरामीटर के तौर परtimePickerState
.- लागू करने के प्रोसेस में दो बटन शामिल होते हैं: पहला, चुने गए विकल्प की पुष्टि करने के लिए और पिकर खारिज करने के लिए दूसरा.
यह लागू होने का तरीका इस तरह दिखता है:

समय चुनने वाला विजेट
इस स्निपेट में, इनपुट स्टाइल वाला बुनियादी टाइम पिकर लागू करने का तरीका बताया गया है.
@Composable fun InputExample( onConfirm: () -> Unit, onDismiss: () -> Unit, ) { val currentTime = Calendar.getInstance() val timePickerState = rememberTimePickerState( initialHour = currentTime.get(Calendar.HOUR_OF_DAY), initialMinute = currentTime.get(Calendar.MINUTE), is24Hour = true, ) Column { TimeInput( state = timePickerState, ) Button(onClick = onDismiss) { Text("Dismiss picker") } Button(onClick = onConfirm) { Text("Confirm selection") } } }
इस सुविधा को लागू करने के दौरान ध्यान रखने वाली ज़रूरी बातें:
- इसमें डायल टाइम पिकर भी पहले जैसा ही है.
TimePicker
के बजायTimeInput
के इस्तेमाल में अंतर है. timePickerState
के लिएis24Hour
पैरामीटर साफ़ तौर परtrue
पर सेट किया गया है. डिफ़ॉल्ट रूप से, यह वैल्यूfalse
होती है.
लागू होने पर यह ऐसा दिखता है:

राज्य का इस्तेमाल करें
टाइम पिकर में उपयोगकर्ता के चुने गए समय का इस्तेमाल करने के लिए, अपने onConfirm
फ़ंक्शन में सही TimePickerState
पास करें. इसके बाद, पैरंट कॉम्पोनेंट, TimePickerState.hour
और
TimePickerState.minute
की मदद से चुने गए समय को ऐक्सेस कर सकता है.
नीचे दिए गए स्निपेट में, ऐसा करने का तरीका बताया गया है:
@Composable fun DialUseStateExample( onConfirm: (TimePickerState) -> Unit, onDismiss: () -> Unit, ) { val currentTime = Calendar.getInstance() val timePickerState = rememberTimePickerState( initialHour = currentTime.get(Calendar.HOUR_OF_DAY), initialMinute = currentTime.get(Calendar.MINUTE), is24Hour = true, ) Column { TimePicker( state = timePickerState, ) Button(onClick = onDismiss) { Text("Dismiss picker") } Button(onClick = { onConfirm(timePickerState) }) { Text("Confirm selection") } } }
इसके बाद, कॉम्पोज़ेबल को इस तरह से कॉल किया जा सकता है:
var selectedTime: TimePickerState? by remember { mutableStateOf(null) }
// ...
DialUseStateExample(
onDismiss = {
showDialExample = false
},
onConfirm = {
time ->
selectedTime = time
showDialExample = false
},
)
// ...
if (selectedTime != null) {
val cal = Calendar.getInstance()
cal.set(Calendar.HOUR_OF_DAY, selectedTime!!.hour)
cal.set(Calendar.MINUTE, selectedTime!!.minute)
cal.isLenient = false
Text("Selected time = ${formatter.format(cal.time)}")
} else {
Text("No time selected.")
}
ज़्यादा जानकारी के लिए, स्निपेट में पूरा इंप्लिमेंटेशन देखें ऐप्लिकेशन है.