国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android使用CountDownTimer類實(shí)現(xiàn)倒計(jì)時鬧鐘

2019-10-22 18:16:17
字體:
供稿:網(wǎng)友

下面使用CountDownTimer類實(shí)現(xiàn)倒計(jì)時小鬧鐘,CountDownTimer類其實(shí)很簡單,一般只需重寫其onFinish和onTick方法就可以實(shí)現(xiàn)倒計(jì)時小鬧鐘,代碼如下:

MainActivity:

package com.home.brewclock;  import android.app.Activity; import android.media.MediaPlayer; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView;  public class MainActivity extends Activity implements OnClickListener {   private Button addTimeBtn;   private Button decreaseTimeBtn;   private Button startBtn;   private Button closeMusicBtn;   private TextView timeText;    private int brewTime = 3;   private CountDownTimer countDownTimer;   private boolean isBrewing = false;   private MediaPlayer alarmMusic;    @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);      addTimeBtn = (Button) findViewById(R.id.main_btn_up);     decreaseTimeBtn = (Button) findViewById(R.id.main_btn_down);     startBtn = (Button) findViewById(R.id.main_start);     closeMusicBtn = (Button) findViewById(R.id.main_btn_close_music);     timeText = (TextView) findViewById(R.id.main_tv);     addTimeBtn.setOnClickListener(this);     decreaseTimeBtn.setOnClickListener(this);     startBtn.setOnClickListener(this);     closeMusicBtn.setOnClickListener(this);     setBrewTime(3);   }    /**    * 設(shè)置鬧鐘倒計(jì)時初始值    *    * @param minutes    */   public void setBrewTime(int minutes) {     if (isBrewing)       return;     brewTime = minutes;      if (brewTime < 1) {       brewTime = 1;     }     timeText.setText(String.valueOf(brewTime) + "m");   }    /**    * 開啟鬧鐘    */   public void startBrew() {     // 創(chuàng)建一個CountDownTimer對象記錄鬧鐘時間     countDownTimer = new CountDownTimer(brewTime * 60 * 1000, 1000) {       @Override       public void onTick(long millisUntilFinished) {         timeText.setText(String.valueOf(millisUntilFinished / 1000)             + "s");       }        @Override       public void onFinish() {         isBrewing = false;         timeText.setText(brewTime + "m");         startBtn.setText("Start");         // 加載指定音樂,并為之創(chuàng)建MediaPlayer對象         alarmMusic = MediaPlayer.create(MainActivity.this, R.raw.music);         // 設(shè)置為循環(huán)播放         alarmMusic.setLooping(true);         // 播放音樂         alarmMusic.start();         closeMusicBtn.setVisibility(0);       }     };     countDownTimer.start();     startBtn.setText("Stop");     isBrewing = true;   }    /**    * 停止計(jì)時    */   public void stopBrew() {     if (countDownTimer != null) {       countDownTimer.cancel();     }     isBrewing = false;     startBtn.setText("Start");   }    @Override   public void onClick(View v) {     if (v == addTimeBtn) {       setBrewTime(brewTime + 1);     } else if (v == decreaseTimeBtn) {       setBrewTime(brewTime - 1);     } else if (v == startBtn) {       if (isBrewing) {         stopBrew();       } else {         startBrew();       }     } else if (v == closeMusicBtn) {       if (alarmMusic != null) {         alarmMusic.stop();         closeMusicBtn.setVisibility(8);       }     }   } } 

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_width="match_parent"   android:layout_height="match_parent" >    <Button     android:id="@+id/main_btn_close_music"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:text="關(guān)閉音樂"     android:visibility="gone" />    <LinearLayout     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:layout_centerInParent="true"     android:gravity="center"     android:orientation="horizontal" >      <Button       android:id="@+id/main_btn_down"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="-"       android:textSize="40dp" />      <TextView       android:id="@+id/main_tv"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:padding="10dp"       android:text="0:00"       android:textSize="40dp" />      <Button       android:id="@+id/main_btn_up"       android:layout_width="wrap_content"       android:layout_height="wrap_content"       android:text="+"       android:textSize="40dp" />   </LinearLayout>    <Button     android:id="@+id/main_start"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:layout_alignParentBottom="true"     android:text="Start" />  </RelativeLayout> 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VEVB武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大理市| 怀安县| 四会市| 兴安县| 九龙县| 府谷县| 东至县| 开阳县| 呼伦贝尔市| 基隆市| 新巴尔虎右旗| 丁青县| 敦化市| 毕节市| 宁武县| 岗巴县| 广昌县| 伊宁县| 梨树县| 惠东县| 辽宁省| 巴中市| 若羌县| 云和县| 日照市| 泸水县| 盘山县| 泰宁县| 普宁市| 京山县| 澄城县| 永川市| 曲阳县| 蓝田县| 寻乌县| 中西区| 新河县| 蒲城县| 鹿泉市| 昌黎县| 镇宁|