Chronometer实现计时器
2016-02-26 14:59
232 查看
今天给大家介绍一个Android中不常用的控件,Chronometer,简单的说就是计时器,下面看看如何使用,先上效果图:
![](http://img.blog.csdn.net/20160226145136055)
Chronometer是Android系统自带的一个控件,继承自TextView,
我们先看看布局文件:
我们先来看看Chronometer的一些常用方法:
下面给出例子的代码:
Chronometer是Android系统自带的一个控件,继承自TextView,
我们先看看布局文件:
[code]<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="fill_parent"> <LinearLayout android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="wrap_content" android:gravity="center" android:layout_above="@+id/chm" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="设置时间:" /> <EditText android:id="@+id/edittext" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout> <Chronometer android:id="@+id/chm" android:layout_width="wrap_content" android:textColor="#ff0000" android:textSize="30sp" android:layout_centerInParent="true" android:layout_height="wrap_content" /> <LinearLayout android:layout_below="@+id/chm" android:layout_width="match_parent" android:orientation="horizontal" android:gravity="center" android:layout_height="wrap_content"> <Button android:id="@+id/start" android:layout_width="wrap_content" android:text="开始计时" android:onClick="click" android:layout_height="wrap_content" /> <Button android:id="@+id/stop" android:layout_width="wrap_content" android:text="停止计时" android:onClick="click" android:layout_height="wrap_content" /> <Button android:id="@+id/reset" android:layout_width="wrap_content" android:text="重置" android:onClick="click" android:layout_height="wrap_content" /> </LinearLayout> </RelativeLayout>
我们先来看看Chronometer的一些常用方法:
[code]setBase():设置计时器的起始参考时间 start():开始计时 stop():停止计时 setOnChronometerTickListener():设置计时器时间改变监听
下面给出例子的代码:
[code]public class MainActivity extends Activity { private Chronometer chronometer; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.edittext); chronometer = (Chronometer) findViewById(R.id.chm); } public void click(View view){ switch (view.getId()){ case R.id.start: chronometer.setBase(SystemClock.elapsedRealtime()); chronometer.start(); break; case R.id.stop: chronometer.stop(); break; case R.id.reset: chronometer.setBase(SystemClock.elapsedRealtime()); break; } if(!TextUtils.isEmpty(editText.getText().toString())) { final int time = Integer.parseInt(editText.getText().toString()); chronometer.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() { @Override public void onChronometerTick(Chronometer chronometer) { if (SystemClock.elapsedRealtime() - chronometer.getBase() >time*1000) { Toast.makeText(MainActivity.this, "时间到", Toast.LENGTH_SHORT).show(); } } }); } } }
相关文章推荐
- mysql中授权(grant)和撤销授权(revoke)等命令的用法详解[转]
- 关于Jpgraph 的中文乱码问题
- (一)Spring 简介
- 类扩展式时如何弃用以前的类属性名称
- 如何处理PB级别数据(2)——Apache Solr 之 使用SolrJ操作索引库
- c++ 文件写样例
- [转]命令行打开文件夹窗口
- 爬虫:selenium + phantomjs 解决js抓取问题(一)
- Git基本操作
- 老李分享:Oracle数据库调优工具 2
- while和switch
- 老李分享:Oracle数据库调优工具
- android 如何查看android-support-v4.jar 或v7源码
- CSDN-markdown编辑器
- iptables
- 如何处理PB级别数据(1)——Elasticsearch与Solr 选型
- 关于Dragger2与RXjava集合框架的项目随笔
- spring整合quartz任务调度框架使用
- oneproxy5.8.1新版本的配置
- Windows7安装Mongodb