Android简单计时器(转)
原文:http://blog.csdn.net/fwwdn/article/details/7550822
本文利用ContextMenu(上下文菜单),Chronometer实现简单计数器。
Main.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width= "fill_parent"
- android:layout_height = "fill_parent"
- android:gravity = "center_horizontal"
- >
- <Chronometer
- android:id ="@+id/chronometer"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:format="%s"
- android:textSize="80px"
- android:textColor="#00FF00"
- />
- </LinearLayout >
/layout/menu/context_menu.xml
- <?xml version="1.0" encoding="utf-8"?>
- <menu xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:id="@+id/timer_start" android:title=" 开始计时 " />
- <item android:id="@+id/timer_stop" android:title=" 终止计时 " />
- <item android:id="@+id/timer_reset" android:title=" 清零 " />
- </menu>
主Activity:
- public class MainActivity extends Activity {
- private Chronometer timer;
- @Override
- public void onCreate(Bundle savedInstanceState)
- {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- // 获得计时器对象
- timer = (Chronometer)this.findViewById(R.id.chronometer);
- //长按计时器时,出现上下文菜单
- this.registerForContextMenu(timer);
- }
- //创建上下文菜单
- @Override
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo)
- {
- super.onCreateContextMenu(menu, v, menuInfo);
- // ContextMenu的Item不支持Icon,所以不用再资源文件中,为它们设定图标
- if (v.getId() == R.id.chronometer)
- {
- //加载xml菜单布局文件
- this.getMenuInflater().inflate(R.menu.context_menu, menu);
- // 设定头部图标
- menu.setHeaderIcon(R.drawable.icon);
- // 设定头部标题
- menu.setHeaderTitle(" 计时器控制选项 ");
- }
- }
- //选择菜单项后的响应
- @Override
- public boolean onContextItemSelected(MenuItem item)
- {
- switch (item.getItemId())
- {
- case R.id.timer_start:
- // 将计时器清零
- timer.setBase(SystemClock.elapsedRealtime());
- //开始计时
- timer.start();
- break;
- case R.id.timer_stop:
- //停止计时
- timer.stop();
- break;
- case R.id.timer_reset:
- //将计时器清零
- timer.setBase(SystemClock.elapsedRealtime());
- break;
- }
- return super.onContextItemSelected(item);
- }
- }
运行结果如图所示:

长按计时器弹出上下文菜单选择开始计时:

Android简单计时器(转)的更多相关文章
- Android简单计时器
本文利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Main.xml: <?xml version="1.0" encoding=" ...
- Android Wear计时器开发
记得在2013年12月的时候,有系列文章是介绍怎么开发一个智能手表的App,让用户可以在足球比赛中记录停表时间.随着Android Wear的问世,在可穿戴设备中开发一款这样的App确实是个很不错的想 ...
- Android简单逐帧动画Frame的实现(二)
Android简单逐帧动画Frame的实现 Android简单逐帧动画Frame的实现 1.逐帧动画 即是通过播放预先排序好的图片来实现动态的画面,感觉像是放电影. 2.实现步骤: 1. 在工程里 ...
- Android倒计时器——CountDownTimer
Android倒计时器--CountDownTimer 说明 第一个参数是倒计时的时间 第二个参数是多长时间执行一次回调 /** * @param millisInFuture The number ...
- QML学习笔记(六)- 简单计时器和定时器
做一个简单的qml计时器和定时器,左键触发计时,右键触发定时 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(六)- 简单计时器和定时器 左键点击按钮,触发计时器,中键可以暂停计时,同 ...
- Android简单文件浏览器源代码 (转)
Android简单文件浏览器源代码 (转) activity_main .xml <LinearLayout xmlns:android="http://schemas.android ...
- Android 绘制计时器
用小米的手机,发现其实还可以,无意间点开小米的计时器,发现界面非常好看和实用.于是自己仿照着写一个,由于技术不好,代码整体结构上可能有点乱,但主要的实现功能和掌握知识点. Android中绘制采用ca ...
- Android简单介绍SharedPreference,内部文件,sdcard数据存储
SharedPreference 以xml的结构储存简单的数据,储存在data/data/程序包名/shared_prefs文件夹中 使用方式 创建对象的方式有三种 Context 的 getShar ...
- android简单登陆和注册功能实现+SQLite数据库学习
最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的 好了下面是主要代码: 数据库的建立: 这里我只是建立了一个用 ...
随机推荐
- MockMVC - 基于RESTful风格的Springboot,SpringMVC的测试
MockMVC - 基于RESTful风格的SpringMVC的测试 对于前后端分离的项目而言,无法直接从前端静态代码中测试接口的正确性,因此可以通过MockMVC来模拟HTTP请求.基于RESTfu ...
- 【代码学习】PYHTON 元组
Python的元组与列表类似,不同之处在于元组的元素不能修改.也可进行分片 和 连接操作. 元组使用小括号,列表使用方括号. 一.访问元组 #coding=utf-8 Tuple = ('name', ...
- POJ1087 A Plug of UNIX
你作为某高管去住宿了,然后宾馆里有几种插座,分别有其对应型号,你携带了几种用电器(手机,电脑一类的),也有其对应型号:可是不一定用电器就能和插座匹配上,于是宾馆的商店里提供了一些转换器,这些转换器可以 ...
- LeetCode 234. Palindrome Linked List(判断是否为回文链表)
题意:判断是否为回文链表,要求时间复杂度O(n),空间复杂度O(1). 分析: (1)利用快慢指针找到链表的中心 (2)进行步骤(1)的过程中,对前半部分链表进行反转 (3)如果链表长是偶数,首先比较 ...
- 基础总结篇之七:ContentProvider之读写短消息
转自:http://blog.csdn.net/wellsoho/article/details/49494167 今天我们来讲一下如何利用ContentProvider读写短消息. 上次我们讲了如何 ...
- text-align:justify 失效问题。
text-align:justify 失效问题. <div class="fmlist_left"> <p> <span> 品名 <i c ...
- 自动重启 supervisor
在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作.有没有办法做到当文件修改之 ...
- cmd命令下载maven管理需要的依赖jar包
首先在maven官网https://mvnrepository.com/ 搜索你需要的jar包,找到下面的下载链接,在修改命令,然后cmd下载. cmd命令下载Maven需要jar包 cmd输入下面 ...
- C++赋值操作符不能继承
在网上搜索相关资料时,看到有人说,赋值操作符可以被继承,并且给出了一个例子. 一时间,也没想出那个例子错在哪里. 例子代码如下: #include <iostream> using nam ...
- 导出EXCEL设置单元格格式
怎么设置导出的EXCEL文件的列格式 如何设置导出的EXCEL文件的列格式在office的EXCEL中我们可以在一个EXCEL文件中,选中一列再点击鼠标右键,选择设置单元格格式,可以将这一列设为文本格 ...