Jetpack Compose 中的 TextClock 相当于什么?

Hen*_*ing 6 android android-jetpack-compose

TextClock是 Android XML 布局的小部件,它可以自行保存和显示时间。您只需添加格式和时区。

目前我在 Jetpack Compose 中没有看到类似的东西。我应该使用文本可组合项和一些时间格式化库自己实现它吗?我应该膨胀 TextClock 并利用向后兼容性吗?或者有现成的组件吗?

Hen*_*ing 4

我首先通过 AndroidView 可组合项添加原始 TextView。它确实有效,但我仍然希望得到一个没有“遗留”代码的答案。

@Composable
private fun TextClock(
    modifier: Modifier = Modifier,
    format12Hour: String? = null,
    format24Hour: String? = null, 
    timeZone: String? = null,
) {
    AndroidView(
        factory = { context ->
            TextClock(context).apply {
                format12Hour?.let { this.format12Hour = it }
                format24Hour?.let { this.format24Hour = it }
                timeZone?.let { this.timeZone = it }
            }
        },
        modifier = modifier
    )
}
Run Code Online (Sandbox Code Playgroud)