Android编程之简单计时器实现方法

本文实例讲述了Android编程之简单计时器实现方法。分享给大家供大家参考,具体如下:

这里利用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程序设计有所帮助。

时间: 2024-10-29 02:23:59

Android编程之简单计时器实现方法的相关文章

Android编程之简单计时器实现方法_Android

本文实例讲述了Android编程之简单计时器实现方法.分享给大家供大家参考,具体如下: 这里利用ContextMenu(上下文菜单),Chronometer实现简单计数器. Main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android

Android编程实现简单设置按钮颜色的方法

本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android" android:or

Android编程Widget创建与使用方法简明教程_Android

本文实例讲述了Android编程Widget创建与使用方法.分享给大家供大家参考,具体如下: Android reference中有关于如何建立一个Widget的详细方法,这里简要说明一下,详情可以查看Android SDK中自带的reference. 要建立一个Widget,分为如下几个步骤: (1) 创建一个类,让其继承类AppWidgetProvider,在AppWidgetProvider中有许多方法,例如onDelete(Context,int[]),onEnable(Context)

Android编程之阴影(Shadow)制作方法_Android

本文实例讲述了Android编程之阴影(Shadow)制作方法.分享给大家供大家参考,具体如下: 先看运行效果图如下: 阴影制作:包括各种形状(矩形,圆形等等),以及文字等等都能设置阴影. 阴影制作是什么原理呢? 其实很简单,你需要设置阴影的东西被看作一个主层.然后在主层下面画一个阴影层. 阴影制作涉及到一个重要函数: public void setShadowLayer (float radius, float dx, float dy, int color) 参数: radius:阴影半径

Android编程之菜单的实现方法实例详解_Android

本文实例讲述了Android编程之菜单的实现方法.分享给大家供大家参考,具体如下: Options Menu 当用户按下menu button按钮时显示的菜单 Context Menu 当用户长久按住屏幕,被注册显示上下文菜单的视图时显示的菜单 Submenu    当用户按下一个菜单的某个选项时弹出的子菜单 以上三种菜单也就是我们经常所说的:选项菜单,上下文菜单和子菜单. 一.上下文菜单 1. 实现onCreateContextMenu即可创建该菜单 @Override public void

Android编程实现手机拍照的方法详解_Android

本文实例讲述了Android编程实现手机拍照的方法.分享给大家供大家参考,具体如下: 今天弄了差不多一天手机拍照,后来,边弄边想,而且现在也不知道自己知道的这些对不对,首先,如果使用此种方式拍照的话,程序在模拟器中,刚启动就会出问题,不知道什么原因,猜可能是因为是模拟器的原因,目前没有手机进行测试,这一些无法解释,代码如下: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(in

Android编程实现简单的UDP Client实例_Android

本文实例讲述了Android编程实现简单的UDP Client.分享给大家供大家参考,具体如下: 该代码在4.2.2内调试通过 1.记得加权限 <uses-permission android:name="android.permission.INTERNET"/> 注意:Android 4.0之后,就不能在主线程进行socket通信,否则会抛异常. 2.代码 MainActivity.java: package mao.example.quicksend; import

Android编程内存溢出与防范方法浅析_Android

本文实例讲述了Android编程内存溢出与防范方法.分享给大家供大家参考,具体如下:  Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M.但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题.在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽量在关闭程序

Android编程实现简单流量管理功能实例_Android

本文实例讲述了Android编程实现简单流量管理功能的方法.分享给大家供大家参考,具体如下: package cn.itcast.mobilesafe.ui; import java.util.List; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import