我在 jetpack compose 中开发了一个简单的时间选择器应用。它由一个文本可组合项和一个时间选择器组成。文本显示所选时间。但是它不显示是上午还是下午。
以下是该应用程序的细分。它由一个包含文本可组合项和时间选择器的列组成。有三个变量。一个使用内置日历保存当前时间,一个保存时间选择器状态,最后一个从时间选择器格式化时间。
下面是代码:
// App Layout
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center,
) {
// Variable That Stores The Current Time
val currentTime = Calendar.getInstance()
// Variable That Stores Time Picker State
val timePickerState =
rememberTimePickerState(
initialHour = currentTime[Calendar.HOUR_OF_DAY],
initialMinute = currentTime[Calendar.MINUTE],
is24Hour = false,
)
// Variable That Stores The Formatted Time
val formattedTime =
"%02d:%02d".format(
timePickerState.hour,
timePickerState.minute,
)
// Text That Displays The Selected Time
Text(text = formattedTime)
// Time Picker
TimePicker(
state = timePickerState,
)
}
如上所述,我无法弄清楚如何将 AM 或 PM 添加到文本可组合中,甚至无法保存用户对 AM 或 PM 的偏好。timePickerState 有一个名为 的参数is24Hour
,但它是一个布尔值,当添加到字符串时会导致崩溃。