zoukankan      html  css  js  c++  java
  • Android简单计时器(转)

    原文:http://blog.csdn.net/fwwdn/article/details/7550822

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

    Main.xml:

    [java] view plaincopy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns: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 plaincopy
     
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <menu xmlns:android="http://schemas.android.com/apk/res/android">  
    3.     <item android:id="@+id/timer_start" android:title=" 开始计时 " />  
    4.     <item android:id="@+id/timer_stop" android:title=" 终止计时 " />  
    5.     <item android:id="@+id/timer_reset" android:title=" 清零 " />  
    6. </menu>  

    主Activity:

    [java] view plaincopy
     
    1. public class MainActivity extends Activity {  
    2.     private Chronometer timer;  
    3.     @Override  
    4.     public void onCreate(Bundle savedInstanceState)  
    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.     public void onCreateContextMenu(ContextMenu menu, View v,  
    16.             ContextMenuInfo menuInfo)  
    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.     public boolean onContextItemSelected(MenuItem item)  
    33.     {  
    34.         switch (item.getItemId())  
    35.         {  
    36.         case R.id.timer_start:  
    37.             // 将计时器清零  
    38.             timer.setBase(SystemClock.elapsedRealtime());   
    39.             //开始计时  
    40.             timer.start();  
    41.             break;  
    42.         case R.id.timer_stop:  
    43.             //停止计时  
    44.             timer.stop();  
    45.             break;  
    46.         case R.id.timer_reset:  
    47.             //将计时器清零  
    48.             timer.setBase(SystemClock.elapsedRealtime());   
    49.             break;  
    50.         }  
    51.         return super.onContextItemSelected(item);  
    52.     }  
    53. }  

    运行结果如图所示:


    长按计时器弹出上下文菜单选择开始计时:

  • 相关阅读:
    Hibernate4究竟怎么玩目录
    Hibernate检索策略之5.2多对一单向关联检索策略——Hibernate4究竟怎么玩
    Struts2 OGNL表达式中调用java静态方法无效的解决办法
    JDBC API中的execute返回值问题
    Hibernate检索策略之5.1类级别检索策略——Hibernate4究竟怎么玩
    PowerDesigner逆向工程mysql
    三种批量增加的性能分析
    Apache FtpServer的使用
    杭电1013
    杭电1008
  • 原文地址:https://www.cnblogs.com/mochaMM/p/5086483.html
Copyright © 2011-2022 走看看