本文利用ContextMenu(上下文菜单),Chronometer实现简单计数器。

Main.xml:

[java] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical"
  4. android:layout_width="fill_parent"
  5. android:layout_height="fill_parent"
  6. android:gravity="center_horizontal"
  7. >
  8. <Chronometer
  9. android:id="@+id/chronometer"
  10. android:layout_width="wrap_content"
  11. android:layout_height="wrap_content"
  12. android:format="%s"
  13. android:textSize="80px"
  14. android:textColor="#00FF00"
  15. />
  16. </LinearLayout>
/layout/menu/context_menu.xml

[java] view plain copy
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <menuxmlns:android="http://schemas.android.com/apk/res/android">
  3. <itemandroid:id="@+id/timer_start"android:title="开始计时"/>
  4. <itemandroid:id="@+id/timer_stop"android:title="终止计时"/>
  5. <itemandroid:id="@+id/timer_reset"android:title="清零"/>
  6. </menu>
主Activity:

[java] view plain copy
  1. publicclassMainActivityextendsActivity{
  2. privateChronometertimer;
  3. @Override
  4. publicvoidonCreate(BundlesavedInstanceState)
  5. {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.main);
  8. //获得计时器对象
  9. timer=(Chronometer)this.findViewById(R.id.chronometer);
  10. //长按计时器时,出现上下文菜单
  11. this.registerForContextMenu(timer);
  12. }
  13. //创建上下文菜单
  14. @Override
  15. publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
  16. ContextMenuInfomenuInfo)
  17. {
  18. super.onCreateContextMenu(menu,v,menuInfo);
  19. //ContextMenu的Item不支持Icon,所以不用再资源文件中,为它们设定图标
  20. if(v.getId()==R.id.chronometer)
  21. {
  22. //加载xml菜单布局文件
  23. this.getMenuInflater().inflate(R.menu.context_menu,menu);
  24. //设定头部图标
  25. menu.setHeaderIcon(R.drawable.icon);
  26. //设定头部标题
  27. menu.setHeaderTitle("计时器控制选项");
  28. }
  29. }
  30. //选择菜单项后的响应
  31. @Override
  32. publicbooleanonContextItemSelected(MenuItemitem)
  33. {
  34. switch(item.getItemId())
  35. {
  36. caseR.id.timer_start:
  37. //将计时器清零
  38. timer.setBase(SystemClock.elapsedRealtime());
  39. //开始计时
  40. timer.start();
  41. break;
  42. caseR.id.timer_stop:
  43. //停止计时
  44. timer.stop();
  45. break;
  46. caseR.id.timer_reset:
  47. //将计时器清零
  48. timer.setBase(SystemClock.elapsedRealtime());
  49. break;
  50. }
  51. returnsuper.onContextItemSelected(item);
  52. }
  53. }

运行结果如图所示:

Chronometer实现简单计数器_第1张图片
长按计时器弹出上下文菜单选择开始计时:


分享到:

更多相关文章

  1. android级联下拉菜单
  2. Android中Timer计时器详解
  3. Android创建Menu菜单实例
  4. 【特效】3D旋转环形菜单
  5. 设置toolbar中弹出的menu菜单在toolbar的底部(下面)显示
  6. Android 使用BRVAH 实现二级菜单。类似QQ分组
  7. [置顶] Android入门基础(13) menu菜单汇总
  8. android RadioGroup与TabHost组合使用达到菜单效果
  9. Android --右上角弹出菜单

随机推荐

  1. 获取Android(安卓)SDK 源代码并在Eclipse
  2. websocket实现android消息推送
  3. Android(安卓)DownLoadManager的使用
  4. Android(安卓)屏幕旋转时Activity的变化
  5. android jni 程序框架搭建
  6. android中的数据库——学习
  7. drawable类型
  8. android之android:largeHeap说明
  9. android自带数据库之数据插入
  10. android引用外部工程或jar包