Android计时器控件Chronometer应用实例

作者:极客Dragon 时间:2023-03-01 09:46:59 

显示一个计时器开始计时,当计时器到达15s的时候,停止计时。此时页面多一个重置按钮,可再次进行计时。

Android计时器控件Chronometer应用实例

页面布局


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:background="@drawable/bg" >

<Chronometer
 android:id="@+id/chronometer"
 android:layout_marginTop="8dp"
 android:layout_marginLeft="5dp"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content" />

<Button
 android:id="@+id/restart"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="重置"
 android:visibility="gone" />

</LinearLayout>

事件响应 


package com.example.chronometerdemo;

import android.os.Bundle;
import android.os.SystemClock;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;

public class MainActivity extends Activity
{
Chronometer time=null;
Button restart=null;

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

time=(Chronometer) findViewById(R.id.chronometer);
 restart=(Button) findViewById(R.id.restart);

//设置起始时间和时间格式,然后开始计时
 time.setBase(SystemClock.elapsedRealtime());
 time.setFormat("已用时间:%s");
 time.start();

//给计时器添加 * ,当计时到达15s时,要重置
 time.setOnChronometerTickListener(new OnChronometerTickListener() {

@Override
  public void onChronometerTick(Chronometer arg0)
  {
   if(SystemClock.elapsedRealtime()-arg0.getBase()>=15000)
   {
    arg0.stop();
    restart.setVisibility(View.VISIBLE);
   }

}
 });

//给按钮添加重置的效果
 restart.setOnClickListener(new OnClickListener() {

@Override
  public void onClick(View arg0)
  {
   time.setBase(SystemClock.elapsedRealtime());
   time.start();
   restart.setVisibility(View.GONE);

}
 });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
 // Inflate the menu; this adds items to the action bar if it is present.
 getMenuInflater().inflate(R.menu.main, menu);
 return true;
}

}

运行效果

Android计时器控件Chronometer应用实例

来源:http://blog.csdn.net/qq_36631076/article/details/78123338

标签:Android,计时器,Chronometer
0
投稿

猜你喜欢

  • 基于springboot+vue实现垃圾分类管理系统

    2023-04-17 08:39:11
  • java实现斗地主发牌功能

    2022-01-14 14:27:32
  • SpringBoot全局异常处理与定制404页面的方法

    2021-08-07 18:54:56
  • java编译时出现使用了未经检查或不安全的操作解决方法

    2022-05-21 00:21:21
  • MyBatis一二级缓存

    2021-07-03 13:01:59
  • C# List<T> Contains<T>()的用法小结

    2021-05-29 11:44:56
  • Spring Security认证提供程序示例详解

    2022-11-07 18:06:40
  • Java-String类最全汇总(上篇)

    2023-04-15 11:47:10
  • Gradle配置教程之自定义APK名称与输出路径

    2023-03-04 17:35:27
  • 浅谈HTTP使用BASIC认证的原理及实现方法

    2021-07-18 01:36:16
  • MyBatis-Plus 如何单元测试的实现

    2022-03-02 19:45:08
  • C#中使用CAS实现无锁算法的示例详解

    2023-07-01 20:57:44
  • Spring注解驱动之BeanPostProcessor后置处理器讲解

    2023-01-04 17:13:26
  • Spring Boot加密配置文件特殊内容的示例代码详解

    2023-09-18 08:47:24
  • Android图片处理实例分析

    2022-09-10 20:34:50
  • Android ListView与ScrollView冲突的解决方法总结

    2022-09-05 21:44:03
  • Android开发使用Databinding实现关注功能mvvp

    2023-07-23 19:27:32
  • 详解Spring Boot中使用AOP统一处理Web请求日志

    2021-08-24 15:50:17
  • Java抽象类和接口的区别详情

    2023-05-23 20:09:59
  • 在RecyclerView中实现button的跳转功能

    2023-06-17 20:21:14
  • asp之家 软件编程 m.aspxhome.com