本文執行個體講述了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程式設計有所協助。