首页 > 解决方案 > 如何使用 Kotlin 在 android 中更改 TextClock 的格式

问题描述

<TextClock
        android:layout_marginTop="20dp"
        android:id="@+id/textClock"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="45dp"
        android:format12Hour="hh:mm:ss a"
        android:layout_gravity="center"/>

这是我的布局文件中的 TextClock 我想以编程方式将其格式从 12 小时更改为 24 小时

到目前为止,我已经尝试过:

var textClock: TextClock = view.findViewById<TextClock>(R.id.textClock)
textClock.format24Hour = "hh:mm:ss a"

但似乎没有任何效果。在 java 中调用了一个方法setFormat24Hour(CharSequence format),但在 Kotlin 中我无法达到预期的结果。

您的帮助将不胜感激。谢谢

标签: javaandroidkotlinformat

解决方案


正如文档所说,该setFormat24Hour(CharSequence)方法:

指定用于以 24 小时模式显示日期和/或时间的格式模式。

它实际上并没有将时钟更改为 24 小时制。相反,TextClock它使用系统默认设置来决定使用哪种格式。

但是,如果您真的想强制执行格式,您应该将其他模式的格式设置为null,这将强制它显示您想要的方式。


推荐阅读