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

首頁 > 系統 > Android > 正文

Android使用CountDownTimer類實現倒計時鬧鐘

2019-12-12 01:13:59
字體:
來源:轉載
供稿:網友

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

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);   }    /**    * 設置鬧鐘倒計時初始值    *    * @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() {     // 創建一個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");         // 加載指定音樂,并為之創建MediaPlayer對象         alarmMusic = MediaPlayer.create(MainActivity.this, R.raw.music);         // 設置為循環播放         alarmMusic.setLooping(true);         // 播放音樂         alarmMusic.start();         closeMusicBtn.setVisibility(0);       }     };     countDownTimer.start();     startBtn.setText("Stop");     isBrewing = true;   }    /**    * 停止計時    */   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="關閉音樂"     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> 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 紫金县| 柳河县| 伊宁县| 琼海市| 浮山县| 中西区| 砚山县| 木里| 西华县| 雷波县| 特克斯县| 榆树市| 鸡西市| 盱眙县| 登封市| 桂东县| 茶陵县| 石林| 滁州市| 淮北市| 安庆市| 西安市| 定远县| 建瓯市| 江城| 开远市| 庆城县| 武邑县| 永康市| 莱西市| 张家口市| 沁阳市| 盐亭县| 博兴县| 汝阳县| 玛纳斯县| 永福县| 肃南| 邮箱| 淮南市| 宜兴市|