首页 > 系统 > Android > 正文

Android编程之计时器Chronometer简单示例

2019-12-12 02:12:24
字体:
来源:转载
供稿:网友

本文实例讲述了Android计时器Chronometer。分享给大家供大家参考,具体如下:

Android中Chronometer控件继承自TextView,这个组件可以用1秒的时间间隔进行计时,并显示出计时结果。就是我们常说的计时器工具。

public class ChronometerActivity extends Activity implements OnClickListener {  private Chronometer mChronometer;  private Button start, stop, reset, format, clear_format;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_chronometer);    // 初始化View widget    initViews();    // 设置监听事件    initListeners();  }  private void initListeners() {    start.setOnClickListener(this);    stop.setOnClickListener(this);    reset.setOnClickListener(this);    format.setOnClickListener(this);    clear_format.setOnClickListener(this);  }  private void initViews() {    mChronometer = (Chronometer) findViewById(R.id.chronometer);    start = (Button) findViewById(R.id.start);    stop = (Button) findViewById(R.id.stop);    reset = (Button) findViewById(R.id.reset);    format = (Button) findViewById(R.id.set_format);    clear_format = (Button) findViewById(R.id.clear_format);  }  View.OnClickListener mStartListener = new OnClickListener() {    public void onClick(View v) {      mChronometer.start();    }  };  View.OnClickListener mStopListener = new OnClickListener() {    public void onClick(View v) {      mChronometer.stop();    }  };  View.OnClickListener mResetListener = new OnClickListener() {    public void onClick(View v) {      mChronometer.setBase(SystemClock.elapsedRealtime());    }  };  View.OnClickListener mSetFormatListener = new OnClickListener() {    public void onClick(View v) {      mChronometer.setFormat("Formatted time (%s)");    }  };  View.OnClickListener mClearFormatListener = new OnClickListener() {    public void onClick(View v) {      mChronometer.setFormat(null);    }  };  @Override  public void onClick(View v) {    switch (v.getId()) {    case R.id.start:      mChronometer.start();// 开始计时      break;    case R.id.stop:      mChronometer.stop();// 暂停计时      break;    case R.id.reset:      mChronometer.setBase(SystemClock.elapsedRealtime());// 从开机到现在的毫秒数      break;    case R.id.set_format:      // 需要一个String变量,并使用"%s"表示计时信息      mChronometer.setFormat("时间累计:%s秒");      break;    case R.id.clear_format:      mChronometer.setFormat(null);      break;    }  }}

布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:gravity="center_horizontal"  android:orientation="vertical"  android:padding="10dip" >  <Chronometer    android:id="@+id/chronometer"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:format="@string/chronometer_initial_format"    android:paddingBottom="30dip"    android:paddingTop="30dip"    android:textSize="15sp" />  <Button    android:id="@+id/start"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="开始" >    <requestFocus />  </Button>  <Button    android:id="@+id/stop"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="暂停" >  </Button>  <Button    android:id="@+id/reset"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="重新计时" >  </Button>  <Button    android:id="@+id/set_format"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="信息说明" >  </Button>  <Button    android:id="@+id/clear_format"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="取消说明" >  </Button></LinearLayout>

PS:这里再为大家推荐几款相关的在线工具供大家参考:

在线秒表工具:
http://tools.VeVB.COm/bianmin/miaobiao

Unix时间戳(timestamp)转换工具:
http://tools.VeVB.COm/code/unixtime

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android日期与时间操作技巧总结》、《Android开发入门与进阶教程》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表