安卓开发之简单计时器
来源:互联网 发布:网络电工 编辑:程序博客网 时间:2024/05/20 00:52
功能:Menu包括 计时、停止、清零
长按计时器控件 弹出上下文菜单 包括开始计时、终止计时、清零
重点:长按计时器弹出上下文菜单。
//长按计时器时,出现上下文菜单 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.main, menu); // 设定头部图标 menu.setHeaderIcon(R.drawable.ic_launcher); // 设定头部标题 menu.setHeaderTitle(" 计时器控制选项 "); } } //选择菜单项后的响应 @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.timer_start: // 将计时器清零 timer.setBase(SystemClock.elapsedRealtime()); //开始计时 timer.start(); return true; case R.id.timer_stop: //停止计时 timer.stop(); return true; case R.id.timer_reset: //将计时器清零 timer.setBase(SystemClock.elapsedRealtime()); return true; } return false; //return super.onContextItemSelected(item); }
MainActivuty.java
package com.example.timer1;import android.os.Bundle;import android.os.SystemClock;import android.app.Activity;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.Chronometer;public class MainActivity extends Activity { private Chronometer timer; final static int menu_start = Menu.FIRST;final static int menu_stop = Menu.FIRST+1;final static int menu_setting = Menu.FIRST+2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_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.main, menu); // 设定头部图标 menu.setHeaderIcon(R.drawable.ic_launcher); // 设定头部标题 menu.setHeaderTitle(" 计时器控制选项 "); } } //选择菜单项后的响应 @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.timer_start: // 将计时器清零 timer.setBase(SystemClock.elapsedRealtime()); //开始计时 timer.start(); return true; case R.id.timer_stop: //停止计时 timer.stop(); return true; case R.id.timer_reset: //将计时器清零 timer.setBase(SystemClock.elapsedRealtime()); return true; } return false; //return super.onContextItemSelected(item); } 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);menu.add(0,menu_start,0,"计时");menu.add(0,menu_stop,1,"停止");menu.add(0,menu_setting,2,"清零");return true;}public boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stub//return super.onOptionsItemSelected(item);switch(item.getItemId()){case menu_start: // 将计时器清零 timer.setBase(SystemClock.elapsedRealtime()); //开始计时 timer.start(); return true;case menu_stop://停止计时 timer.stop(); return true;case menu_setting: timer.setBase(SystemClock.elapsedRealtime()); return true;}return false;}}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" 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" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Chronometer android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="23dp" android:layout_toRightOf="@+id/textView1" android:format="%s" android:textColor="#00FF00" android:textSize="80px" /></RelativeLayout>
main.xml
<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>
- 安卓开发之简单计时器
- 安卓开发之计时器使用
- 安卓计时器开发
- 安卓实战项目之制作简单的计时器
- 安卓Chronometer计时器的简单使用
- 安卓案例-计时器
- 安卓组件------计时器
- 安卓计时器
- 实现安卓计时器
- iOS开发之计时器
- 安卓秒表计时器程序
- android简单计时器的开发
- 安卓开发之简单的短信操作模块
- 安卓简单手电筒开发
- 安卓自学笔记:4:用Chronometer制作一个简单的计时器
- 安卓开发之安卓反编译
- 安卓开发之安卓手电筒
- 安卓JNI--小项目试验计时器
- RabbitMQ学习
- 10056 - What is the Probability ?
- 是什么阻止了你的能力
- Cocos2d-x游戏开发之SimpleAudioEngine 音乐音效
- viewstate详解(非常好)
- 安卓开发之简单计时器
- redat vi 中文乱码解决
- 存储过程例子
- 设置水平、垂直滚动条自动滚动
- hdu 4468 KMP+贪心
- Write Note-InterModel
- httjpd.conf中文解读
- 这两天由于公司推广应用的需要得使用VPS服务器
- Android开发环境,Eclipse+SDK ,For Ubuntu 12.04, 新手指南