compose 时间选择器
时间: 2023-11-30 22:43:09 浏览: 33
以下是使用Compose实现的一个时间选择器的示例代码,你可以根据自己的需求进行修改和定制:
```kotlin
@Composable
fun TimePicker(
selectedTime: String,
onTimeSelected: (String) -> Unit
) {
var time by remember { mutableStateOf(selectedTime) }
val timeFormat = SimpleDateFormat("hh:mm a", Locale.getDefault())
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
) {
Text(
text = "Selected Time: $time",
fontSize = 20.sp,
fontWeight = FontWeight.Bold,
textAlign = TextAlign.Center,
modifier = Modifier.fillMaxWidth()
)
Spacer(modifier = Modifier.height(16.dp))
Row(
modifier = Modifier.fillMaxWidth(),
horizontalArrangement = Arrangement.Center
) {
Button(
onClick = {
val calendar = Calendar.getInstance()
val hour = calendar.get(Calendar.HOUR_OF_DAY)
val minute = calendar.get(Calendar.MINUTE)
val timePickerDialog = TimePickerDialog(
LocalContext.current,
{ _, hourOfDay, minuteOfHour ->
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay)
calendar.set(Calendar.MINUTE, minuteOfHour)
time = timeFormat.format(calendar.time)
onTimeSelected(time)
},
hour,
minute,
false
)
timePickerDialog.show()
}
) {
Text(text = "Select Time")
}
}
}
}
```
使用方法:
```kotlin
var selectedTime by remember { mutableStateOf("12:00 AM") }
TimePicker(
selectedTime = selectedTime,
onTimeSelected = { time ->
selectedTime = time
}
)
```