日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Android實現(xiàn)倒計時效果

瀏覽:35日期:2022-09-22 10:15:37

本文實例為大家分享了Android實現(xiàn)倒計時效果的具體代碼,供大家參考,具體內(nèi)容如下

一個倒計時的效果

先看效果圖:

Android實現(xiàn)倒計時效果

直接上代碼:

這里是關(guān)于倒計時 …天時分秒…的邏輯判斷

/** * 倒計時計算 */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; if (mHour < 0) { // 倒計時結(jié)束 mHour = 23; mDay--; if(mDay < 0){ // 倒計時結(jié)束 mDay = 0; mHour= 0; mMin = 0; mSecond = 0; } } } }}

定時器主要代碼如下…當(dāng)然也可以開線程或者開后臺服務(wù)來處理…只是沒那種必要…定時器就可以搞定容易控制…畢竟倒計時時間起點…你總得后臺獲取吧,不是做時鐘鬧鐘…如果是做時鐘鬧鐘…拿你也不用考慮后臺服務(wù)或者自己開線程…而是使用AlarmManager來實現(xiàn)

/** * 開啟倒計時 * //time為Date類型:在指定時間執(zhí)行一次。 * timer.schedule(task, time); * //firstTime為Date類型,period為long,表示從firstTime時刻開始,每隔period毫秒執(zhí)行一次。 * timer.schedule(task, firstTime,period); * //delay 為long類型:從現(xiàn)在起過delay毫秒執(zhí)行一次。 * timer.schedule(task, delay); * //delay為long,period為long:從現(xiàn)在起過delay毫秒以后,每隔period毫秒執(zhí)行一次。 * timer.schedule(task, delay,period); */ private void startRun() { TimerTask mTimerTask = new TimerTask() { @Override public void run() { Message message = Message.obtain(); message.what = 1; timeHandler.sendMessage(message); } }; mTimer.schedule(mTimerTask,0,1000); }

修改界面,利用handler來提醒更新界面

private Handler timeHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { computeTime(); mDays_Tv.setText(mDay+'');//天數(shù)不用補位 mHours_Tv.setText(getTv(mHour)); mMinutes_Tv.setText(getTv(mMin)); mSeconds_Tv.setText(getTv(mSecond)); if (mSecond == 0 && mDay == 0 && mHour == 0 && mMin == 0 ) { mTimer.cancel(); } } } }; private String getTv(long l){ if(l>=10){ return l+''; }else{ return '0'+l;//小于10,,前面補位一個'0' } }

附帶主activity的代碼…

import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.RelativeLayout;import android.widget.TextView; import java.util.Timer;import java.util.TimerTask; public class MainActivity extends AppCompatActivity { private RelativeLayout countDown; // 倒計時 private TextView mDays_Tv, mHours_Tv, mMinutes_Tv, mSeconds_Tv; private long mDay = 23;// 天 private long mHour = 11;//小時, private long mMin = 56;//分鐘, private long mSecond = 32;//秒 private Timer mTimer; private Handler timeHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); if (msg.what == 1) { computeTime(); mDays_Tv.setText(mDay+'');//天數(shù)不用補位 mHours_Tv.setText(getTv(mHour)); mMinutes_Tv.setText(getTv(mMin)); mSeconds_Tv.setText(getTv(mSecond)); if (mSecond == 0 && mDay == 0 && mHour == 0 && mMin == 0 ) { mTimer.cancel(); } } } }; private String getTv(long l){ if(l>=10){ return l+''; }else{ return '0'+l;//小于10,,前面補位一個'0' } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTimer = new Timer(); countDown = (RelativeLayout) findViewById(R.id.countdown_layout); mDays_Tv = (TextView) findViewById(R.id.days_tv); mHours_Tv = (TextView) findViewById(R.id.hours_tv); mMinutes_Tv = (TextView) findViewById(R.id.minutes_tv); mSeconds_Tv = (TextView) findViewById(R.id.seconds_tv); startRun(); } /** * 開啟倒計時 * //time為Date類型:在指定時間執(zhí)行一次。 * timer.schedule(task, time); * //firstTime為Date類型,period為long,表示從firstTime時刻開始,每隔period毫秒執(zhí)行一次。 * timer.schedule(task, firstTime,period); * //delay 為long類型:從現(xiàn)在起過delay毫秒執(zhí)行一次。 * timer.schedule(task, delay); * //delay為long,period為long:從現(xiàn)在起過delay毫秒以后,每隔period毫秒執(zhí)行一次。 * timer.schedule(task, delay,period); */ private void startRun() { TimerTask mTimerTask = new TimerTask() { @Override public void run() { Message message = Message.obtain(); message.what = 1; timeHandler.sendMessage(message); } }; mTimer.schedule(mTimerTask,0,1000); } /** * 倒計時計算 */ private void computeTime() { mSecond--; if (mSecond < 0) { mMin--; mSecond = 59; if (mMin < 0) { mMin = 59; mHour--; if (mHour < 0) { // 倒計時結(jié)束 mHour = 23; mDay--; if(mDay < 0){ // 倒計時結(jié)束 mDay = 0; mHour= 0; mMin = 0; mSecond = 0; } } } } }}

附帶xml的代碼

<?xml version='1.0' encoding='utf-8'?><RelativeLayout xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' android: android:layout_width='match_parent' android:layout_height='match_parent' android:background='@android:color/white' android:gravity='center' > <RelativeLayout android: android:layout_width='match_parent' android:layout_height='40.0dip' android:layout_marginLeft='10.0dip' android:layout_marginRight='10.0dip' android:gravity='center' > <ImageView android: android:layout_width='40dp' android:layout_height='40dp' android:src='http://www.b3g6.com/bcjs/@mipmap/img' android:scaleType='fitXY' android:gravity='center_vertical' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_marginRight='5.0dip' android:layout_toRightOf='@+id/describe_iv' android:text='距離開團還有' android:textSize='25sp' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:padding='4dp' android:layout_toRightOf='@+id/describe_tv' android:background='#c2c2c2' android:gravity='center' android:text='' android:textSize='20sp' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_marginLeft='5.0dip' android:layout_marginRight='3.0dip' android:layout_toRightOf='@+id/days_tv' android:text='天' android:textSize='20sp' android:textStyle='bold' /> </RelativeLayout> <RelativeLayout android:layout_width='match_parent' android:layout_height='wrap_content' android:layout_below='@+id/daojishi_rl' android:gravity='center_horizontal' > <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_toLeftOf='@+id/colon1' android:background='#c2c2c2' android:gravity='center' android:text='23' android:padding='3dp' android:textSize='20sp' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_marginLeft='3.0dip' android:layout_marginRight='3.0dip' android:layout_toLeftOf='@+id/minutes_tv' android:text=':' android:textSize='20sp' android:textStyle='bold' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_toLeftOf='@+id/colon2' android:background='#c2c2c2' android:gravity='center' android:text='59' android:padding='3dp' android:textSize='20sp' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_centerVertical='true' android:layout_marginLeft='3.0dip' android:layout_marginRight='3.0dip' android:layout_toLeftOf='@+id/seconds_tv' android:text=':' android:textSize='20sp' android:textStyle='bold' /> <TextView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:layout_alignParentRight='true' android:layout_centerVertical='true' android:background='#c2c2c2' android:gravity='center' android:text='59' android:padding='3dp' android:textSize='20sp' /> </RelativeLayout> </RelativeLayout>

完美實現(xiàn),直接用就可以了。

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

標(biāo)簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品欧美大片| 久久不卡国产精品一区二区| 欧美天堂一区| 精品一区二区三区免费看| 日韩一区精品字幕| 国产精品男女| 久久久男人天堂| 亚洲精品午夜av福利久久蜜桃| 日韩毛片网站| 欧美/亚洲一区| 久久免费精品| 国产日产一区| 日本a级不卡| 免费视频国产一区| caoporn视频在线| av免费不卡国产观看| 国产欧美自拍一区| 亚洲aa在线| 男女精品网站| 日本精品不卡| 国产精品porn| 国产欧美日韩精品一区二区三区 | 午夜在线一区| 日韩一区二区三区精品 | 日韩av一区二区三区| 五月精品视频| 日韩成人午夜精品| 免费观看久久av| 国产综合婷婷| 亚洲一区二区三区免费在线观看| 国产成人精品一区二区三区在线| 粉嫩av一区二区三区四区五区 | 日韩精品视频网站| 久久久影院免费| yellow在线观看网址| 国产成人精品福利| 亚洲国产福利| 成人国产精品| 在线一区免费| 亚洲自啪免费| 亚洲精品自拍| 国产欧美日韩一级| 国产一区二区三区免费在线| 久久99国产精品视频| 国产精品久久久一区二区| 国产美女精品视频免费播放软件| 蜜桃视频第一区免费观看| 日韩va亚洲va欧美va久久| 国产成人精品一区二区三区免费| 亚洲激情不卡| 久久国产尿小便嘘嘘| 高清一区二区三区av| 丝袜美腿诱惑一区二区三区| 日韩中文欧美| 亚洲毛片在线| 国产成人在线中文字幕| 国内揄拍国内精品久久| 亚洲精品va| 国产一区二区三区不卡视频网站 | 免费污视频在线一区| 午夜一级久久| 黄色在线网站噜噜噜| 人人精品人人爱| 国产精品成人国产| 久久国产主播| 免费精品一区| 午夜日韩影院| 亚洲啊v在线| 日本少妇一区二区| 久久中文视频| 久久国产精品免费一区二区三区 | 激情久久久久久| 国产精品一区二区三区av| 欧美亚洲国产精品久久| 久久伊人国产| 日韩av中文字幕一区| 在线精品亚洲欧美日韩国产| 亚洲91视频| 在线亚洲欧美| 日韩一区三区| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 久久中文精品| 99久久婷婷| 亚洲免费婷婷| 99久久精品网| 福利一区在线| 九九久久国产| 欧美日韩国产综合网| 日韩久久精品网| 精品午夜av| 欧美极品中文字幕| 国精品产品一区| 日韩久久电影| 色爱av综合网| 久久国产毛片| 欧美午夜不卡影院在线观看完整版免费| 国产在线观看91一区二区三区| 亚洲综合图色| 国产精品毛片久久久| 欧美日韩亚洲一区| 国产精品入口久久| 日本国产亚洲| 亚洲夜间福利| 伊人久久婷婷| 亚洲一区欧美二区| 老牛国产精品一区的观看方式| 日韩精品看片| 欧美精品资源| 久久国产精品久久久久久电车| 亚洲免费播放| 亚洲资源在线| 国产亚洲在线| 久久久久久久久丰满| 日韩欧美精品| 最新亚洲激情| 亚洲人成在线影院| 国产精品一区毛片| 麻豆精品在线观看| 久久狠狠久久| 神马午夜在线视频| 日韩精品欧美精品| 六月婷婷一区| 久久高清免费| 国产精品资源| 麻豆91小视频| 91精品观看| 欧美成人国产| 91亚洲国产| 国产免费久久| 国产香蕉精品| 欧美精品福利| 亚洲精品影视| 欧美日韩国产亚洲一区| 秋霞国产精品| 福利一区在线| yellow在线观看网址| 久久不卡国产精品一区二区| 亚洲不卡视频| 亚洲欧美网站在线观看| 香蕉成人久久| 婷婷精品在线| 亚洲一区激情| 国产一区国产二区国产三区| av日韩中文| 蜜臀精品一区二区三区在线观看| 美女亚洲一区| 免费视频久久| 中文字幕一区二区三区四区久久 | 日本vs亚洲vs韩国一区三区二区| 中文无码久久精品| 亚洲区第一页| 日本中文字幕不卡| 亚洲精品乱码| 国产精品亲子伦av一区二区三区 | 久久精品国产福利| 国产精品va| 91p九色成人| 四虎精品一区二区免费| 一区二区国产在线| 久久亚洲图片| 国产精品亚洲片在线播放| 国产一区二区三区不卡视频网站| 成人免费网站www网站高清| 久久久久国产精品一区二区| 久久九九电影| 性色一区二区| 国产日韩欧美一区二区三区在线观看 | 欧美伊人影院| 精品伊人久久| 久久久天天操| 国产精品视区| 精品欧美视频| 蜜臀av在线播放一区二区三区| 日本不卡在线视频| 色88888久久久久久影院| 在线综合亚洲| 日韩精品亚洲专区| 久久国产亚洲| 国产精品久久亚洲不卡| 国产精品高清一区二区| 国产一区二区三区视频在线| 午夜精品成人av| 亚洲激情黄色| 欧美精品福利| 欧美三区四区| 一区二区日韩免费看| 日韩精品电影| 欧美91在线| 欧美日韩一区二区国产| 精品91久久久久| 久久精品欧美一区| 久草免费在线视频| 麻豆国产欧美日韩综合精品二区| 国产亚洲综合精品| 欧美日韩精品一区二区视频| 国产精品对白| 国产精品毛片一区二区三区| 新版的欧美在线视频| 国产精品亚洲片在线播放| 美国三级日本三级久久99|