美文网首页kotlin
Android 中计时器 Chronometer 使用

Android 中计时器 Chronometer 使用

作者: 职场过客 | 来源:发表于2024-01-10 15:58 被阅读0次
    Chronometer是一个「简单的计时器」组件,继承自TextView。但是Chronometer「不显示当前时间」,它显示的是从某个起始时间开始,一共过去了多长时间。
    image.png
    主要XML属性如下:

    「android:countDown」 是否倒计时,默认false。
    「android:format」 设置显示时间格式。如果指定,第一个 「"%s"」 替换为"MM:SS"或"H:MM:SS"形式的当前计时器值。

    常用方法

    「start()」:开始计时
    「stop()」:停止计时
    「setBase(long)」:设置计时器起始时间。
    「setFormat(String)」:设置显示时间格式
    「setCountDown(boolean)」:设置是否是倒计时(SDK版本大于23)。
    「setOnChronometerTickListener(OnChronometerTickListener)」:为计时器绑定事件监听,当计时器改变时触发该监听器。

    <Chronometer
    android:id="@+id/chronometer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    app:layout_constraintBottom_toTopOf="@+id/toggleButton"
    app:layout_constraintEnd_toStartOf="@+id/guideline4"
    app:layout_constraintStart_toStartOf="@+id/guideline3"
    app:layout_constraintTop_toTopOf="parent" />

    时间
    views.chronometer.base = SystemClock.elapsedRealtime() //手机从启动系统开始计数,做时间段的统计是最可靠的
    views.chronometer.base = System.currentTimeMillis()//UNIX 时间 从1970-1开始,
    区别:System.currentTimeMillis()获取的是系统的时间,可以被修改。SystemClock.elapsedRealtime()获取的是系统开机到现在的时间,不能被修改。
    使用:System.currentTimeMillis()用于和日期相关的地方,比如日志。SystemClock.elapsedRealtime()用于某个事件经历的时间,比如两次点击的时间间隔。

    相关文章

      网友评论

        本文标题:Android 中计时器 Chronometer 使用

        本文链接:https://www.haomeiwen.com/subject/bmjzndtx.html