Android編程之簡單計時器實現方法
更新時間:2016年01月06日 15:19:58 作者:fwwdn
這篇文章主要介紹了Android編程之簡單計時器實現方法,涉及Android開發(fā)中ContextMenu及Chronometer的相關使用技巧,需要的朋友可以參考下
本文實例講述了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" > <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); } //創(chuàng)建上下文菜單 @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程序設計有所幫助。
相關文章
5個Android開發(fā)中比較常見的內存泄漏問題及解決辦法
本文主要介紹了5個Android開發(fā)中比較常見的內存泄漏問題及解決辦法,具有很好的參考價值,下面跟著小編一起來看下吧2017-02-02Android小部件Widget開發(fā)過程中的坑和問題小結
這篇文章主要介紹了Android小部件Widget開發(fā)過程中的坑和問題小結,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Android ProgressDialog用法之實現app上傳文件進度條轉圈效果
這篇文章主要介紹了Android ProgressDialog用法之實現app上傳文件進度條轉圈效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03