本文利用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);
}
}
运行结果如图所示:
长按计时器弹出上下文菜单选择开始计时:
分享到:
相关推荐
开发环境:Eclipse Juno + Android 4.1 SDK(API16) 利用系统时间实现了一个简单的计时器,精确到1/10s,实现了单次计时和分圈计时功能。 练习了一下Listview的动态增删。
一个很简单计时器实现,只有开始和结束按键,以及显示秒。需要用可以下载,根据自已项目随便改就适用。
简单的安卓计时器。供大家学习。大家也可以分享
CountdownTimer.rar 开发环境:ubuntu10.04+eclipse galileo
这个很不错,里面有开始、暂停、重置等等,结合很多学习的东西,你们可以看看
使用Android Studio写的简单的计时器,包括开始计时,显示计时,结束计时,比较适合学习Android的萌新参考,对Handler的学习很有帮助~
Android Chronometer 计时器 不需使用线程 简单实用
android倒计时器的简单实现,利用CountDownTimer类。
用handler实现的简单的计时器,计时范围小于1h,比较简单,
本文实例为大家分享了Android实现简单计时器的具体代码,供大家参考,具体内容如下 布局 在res/layout 下进行布局 <?xml version=1.0 encoding=utf-8?> <android.support.constraint.ConstraintLayout ...
android计时器(可开始/暂停/播放/停止),简单的计时器工具类;
计时器
自己编写的一个简单的计时器,计时器格式为HH:MM:SS,有开始,停止,重置三个按键,简单实现了计时的功能,导入工程可以直接使用。
可能我们在开发中会时常用到计时器这玩意儿,比如在录像的时候,我们可能需要在右上角显示一个计时器。这个东西其实实现起来非常简单。 只需要用一个控件Chronometer,是的,就这么简单,我都不好意思讲述一下了。 ...
android实现简单的时钟设计,非常简单,适合初学者练习。
学习计时器时有个作业,要写一个逆向的计时,没思路在网上找半天找不到,我整理一份简单的计时器应用的项目文件,直接导入即可,适合android2.3。
一个"简单"的秒表源码,大家多多指导,互相学习。
Chronometer是一个简单的计时器,你可以给它一个开始时间,并以计时,或者如果你不给它一个开始时间,它将会使用你的时间通话开始,这篇文章主要帮助大家学习掌握使用Android Chronometer计时器,感兴趣的小伙伴们...
主要介绍了Android开发实现的计时器功能,涉及Android开发中的计时器相关组件布局、调用、事件响应等相关操作技巧,需要的朋友可以参考下
简单的Android计时器 这是创建带有“开始”和“暂停”按钮的简单Android计时器的示例。