Android计时器控件Chronometer应用实例
程序员文章站
2023-12-14 22:16:28
显示一个计时器开始计时,当计时器到达15s的时候,停止计时。此时页面多一个重置按钮,可再次进行计时。
页面布局
显示一个计时器开始计时,当计时器到达15s的时候,停止计时。此时页面多一个重置按钮,可再次进行计时。
页面布局
<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; } }
运行效果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。