Chronometer android计时器组件Chronometer的使用,android通话时长计时控件

在安卓开发过程中经常需要计数器的使用,我们可以用handler实现间隔性的操作。

例如按两次返回back退出,隔几秒重复换页面等。

但是也经常有一类需求类是打电话时候记录时长的操作。

这就用到了android中 android.widget包下的Chronometer 这个组件。


转载请注明:http://blog.csdn.net/xuanguofeng/article/details/45579037    谢谢


Chronometer介绍

Class that implements a simple timer.
 * <p>
 * You can give it a start time in the {@link SystemClock#elapsedRealtime} timebase,
 * and it counts up from that, or if you don't give it a base time, it will use the
 * time at which you call {@link #start}.  By default it will display the current
 * timer value in the form "MM:SS" or "H:MM:SS", or you can use {@link #setFormat}
 * to format the timer value into an arbitrary string.
 *
 * @attr ref android.R.styleable#Chronometer_format



本人英语不好 ,就不在这献丑了。抱歉。。。。。



首先先看布局文件



三个按钮和 一个Chronometer的控件 没有特殊方法



Activity逻辑代码部分


大部分方法都已经注释

注意 chronometer.getText();方法返回的CharSequence这个对象,我们通过这个对象可以操作里面的数据

CharSequence类里面的方法有:

 public int length();

 public char charAt(int index);

 public CharSequence subSequence(int start, int end);

 public String toString();

这四个方法看名字也知道啥意思第一个获取长度、第二根据位置获取字符、第三个截取、第四个toString


我们可以根据获取到的属性进行不同的操作,例如:到5秒的时候进行操作可以

if("00:05".equals(text.toString())){

  要进行的操作;

}


也可以获取字符

if( text.charAt(text.length()-1)==5){

  要进行的操作;

}


还可以自己拆分字符串进行操作总之各种方法就不献丑了。



这就是一个简单计时器在android开发中的使用。




  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AndroidChronometer件可以用于实现计时器功能,包括正计时和倒计时。如果想要实现倒计时,需要在代码中设置Chronometer件的计时时间,并在倒计时结束时触发相关操作。 具体实现方式如下: 1. 在布局文件中添加Chronometer件: ``` <Chronometer android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:format="倒计时:%s" android:layout_centerInParent="true"/> ``` 其中,format属性用于设置Chronometer件显示的文本格式,%s表示计时器的时间将会被替换为具体的倒计时时间。 2. 在代码中设置倒计时时间: ``` Chronometer chronometer = findViewById(R.id.chronometer); chronometer.setBase(SystemClock.elapsedRealtime() + 10 * 1000); //设置倒计时时间为10秒 chronometer.start(); //开始倒计时 ``` 其中,setBase方法用于设置Chronometer件的起始时间,这里使用SystemClock.elapsedRealtime()获取当前时间,再加上10秒的时间作为起始时间,即表示倒计时从当前时间开始,倒计时时间为10秒。start方法用于开始倒计时。 3. 在倒计时结束时触发相关操作: ``` chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { if (chronometer.getText().toString().equals("00:00")) { //倒计时结束,执行相关操作 chronometer.stop(); //停止倒计时 } } }); ``` 在倒计时过程中,可以通过设置setOnChronometerTickListener监听器,在每秒钟的时钟周期中判断Chronometer件显示的时间是否为00:00,如果是则表示倒计时结束,可以在这里触发相关操作。同时,需要在倒计时结束时停止Chronometer计时器,避免继续计时

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值