首页 > 系统 > Android > 正文

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

2020-04-11 11:03:12
字体:
来源:转载
供稿:网友

本文实例讲述了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"><Chronometerandroid: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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表