本文利用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);
}
}

转载自:http://blog.csdn.net/fwwdn/article/details/7550822

Android简单计时器的更多相关文章

  1. Android简单计时器(转)

    原文:http://blog.csdn.net/fwwdn/article/details/7550822 本文利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Mai ...

  2. Android Wear计时器开发

    记得在2013年12月的时候,有系列文章是介绍怎么开发一个智能手表的App,让用户可以在足球比赛中记录停表时间.随着Android Wear的问世,在可穿戴设备中开发一款这样的App确实是个很不错的想 ...

  3. Android简单逐帧动画Frame的实现(二)

    Android简单逐帧动画Frame的实现   Android简单逐帧动画Frame的实现 1.逐帧动画 即是通过播放预先排序好的图片来实现动态的画面,感觉像是放电影. 2.实现步骤: 1. 在工程里 ...

  4. Android倒计时器——CountDownTimer

    Android倒计时器--CountDownTimer 说明 第一个参数是倒计时的时间 第二个参数是多长时间执行一次回调 /** * @param millisInFuture The number ...

  5. QML学习笔记(六)- 简单计时器和定时器

    做一个简单的qml计时器和定时器,左键触发计时,右键触发定时 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(六)- 简单计时器和定时器 左键点击按钮,触发计时器,中键可以暂停计时,同 ...

  6. Android简单文件浏览器源代码 (转)

    Android简单文件浏览器源代码 (转) activity_main .xml <LinearLayout xmlns:android="http://schemas.android ...

  7. Android 绘制计时器

    用小米的手机,发现其实还可以,无意间点开小米的计时器,发现界面非常好看和实用.于是自己仿照着写一个,由于技术不好,代码整体结构上可能有点乱,但主要的实现功能和掌握知识点. Android中绘制采用ca ...

  8. Android简单介绍SharedPreference,内部文件,sdcard数据存储

    SharedPreference 以xml的结构储存简单的数据,储存在data/data/程序包名/shared_prefs文件夹中 使用方式 创建对象的方式有三种 Context 的 getShar ...

  9. android简单登陆和注册功能实现+SQLite数据库学习

    最近初学android,做了实验室老师给的基本任务,就是简单的登陆和注册,并能通过SQLite实现登陆,SQlLite是嵌入在安卓设备中的 好了下面是主要代码: 数据库的建立: 这里我只是建立了一个用 ...

随机推荐

  1. vue中数据添加完成以后,数据回显

    1.格式 <FormItem label="奖品领取类型:" prop="getType" > <RadioGroup v-model=&qu ...

  2. Linux从入门到入门

    一. 前言 首先,在你的Windows系统上要想有linux系统,那就必须先安装一款软件,这里提供的是14.15的,还有ISO镜像:VMware-workstation 安装VMware:略 新建虚拟 ...

  3. selenium对百度进行登录注销

    #百度登录退出demo import time from selenium import webdriver from selenium.webdriver.common.action_chains ...

  4. Linq to Object原理

    using System; using System.Collections.Generic; using System.Linq; using System.Threading; namespace ...

  5. 路漫漫其修远兮,吾将上下而求索--2019OKR规划

    一.前言 加入博客园半年多,认识了很多优秀上进,乐于分享的人,我的男神:EdisonZhou,还有张队长,叶伟民,腾飞,梁桐铭 等等. 半年来写了26篇随笔,我的第一篇随笔 C# DynamicObj ...

  6. RabbitMQ教程

    1.引言 RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适.RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议 ...

  7. Scrapyd 改进第二步: Web Interface 添加 STOP 和 START 超链接, 一键调用 Scrapyd API

    0.提出问题 Scrapyd 提供的开始和结束项目的API如下,参考 Scrapyd 改进第一步: Web Interface 添加 charset=UTF-8, 避免查看 log 出现中文乱码,准备 ...

  8. VS 中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法

    在引用COM组件的时候,出现了无法嵌入互操作类型"--",请改用适用的接口的错误提示. 选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为F ...

  9. python全栈开发day118-Mui

    1.什么是Mui Mui是前端布局框架 封装了HTML5PLUS HTML5PLUS是移动操作系统的调用接口 2.Mui代码块,用于快速构建Mui组件 1).打开一个窗口 Mui.openWindow ...

  10. 今日报错Cannot access java.lang.String

    public java.long.Long getId() { return id; } public void setId(java.lang.Long id) { this.id = id;} 手 ...