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

您的位置:首頁技術文章
文章詳情頁

Android實現倒計時效果

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

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

一個倒計時的效果

先看效果圖:

Android實現倒計時效果

直接上代碼:

這里是關于倒計時 …天時分秒…的邏輯判斷

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

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

/** * 開啟倒計時 * //time為Date類型:在指定時間執行一次。 * timer.schedule(task, time); * //firstTime為Date類型,period為long,表示從firstTime時刻開始,每隔period毫秒執行一次。 * timer.schedule(task, firstTime,period); * //delay 為long類型:從現在起過delay毫秒執行一次。 * timer.schedule(task, delay); * //delay為long,period為long:從現在起過delay毫秒以后,每隔period毫秒執行一次。 * 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+'');//天數不用補位 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+'');//天數不用補位 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類型:在指定時間執行一次。 * timer.schedule(task, time); * //firstTime為Date類型,period為long,表示從firstTime時刻開始,每隔period毫秒執行一次。 * timer.schedule(task, firstTime,period); * //delay 為long類型:從現在起過delay毫秒執行一次。 * timer.schedule(task, delay); * //delay為long,period為long:從現在起過delay毫秒以后,每隔period毫秒執行一次。 * 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) { // 倒計時結束 mHour = 23; mDay--; if(mDay < 0){ // 倒計時結束 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://m.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>

完美實現,直接用就可以了。

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

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
婷婷综合六月| 久久精品日韩欧美| 久久久精品网| 日韩电影免费网站| 另类专区亚洲| 日韩精品看片| 亚洲福利一区| 婷婷丁香综合| 免费成人在线影院| 亚洲+小说+欧美+激情+另类| 少妇精品久久久一区二区| 少妇精品久久久一区二区| 日韩欧美另类中文字幕| 日韩国产高清在线| 国产精品成人自拍| 国产videos久久| 91精品国产调教在线观看| 久久中文字幕av| 蜜臀91精品一区二区三区| 奇米狠狠一区二区三区| 国产精品xvideos88| 免播放器亚洲| 久久精品国产99久久| 日本精品影院| 午夜在线视频观看日韩17c| 亚洲精品动态| 国产精品17p| 日韩欧美在线中字| 欧美日韩视频网站| 国产国产精品| 日韩国产欧美三级| 日韩成人免费| 国产精品毛片一区二区三区| 欧美三级第一页| 欧美日韩视频免费观看| 免费看精品久久片| 欧美激情91| 亚洲成av人片一区二区密柚| 亚洲不卡视频| 国产精品蜜芽在线观看| 亚洲专区欧美专区| 麻豆视频一区| 午夜欧美视频| 国产精品传媒麻豆hd| 六月婷婷综合| 中文字幕一区二区av| 成人在线超碰| 日韩中文字幕1| 麻豆一区二区三| 午夜久久影院| 久久女人天堂| 一区二区精品| 精品久久美女| 岛国av在线网站| 久久午夜视频| 国产91在线播放精品| 麻豆亚洲精品| 成人国产精品久久| 伊人www22综合色| 国产精品久久久久久久久久齐齐| 亚洲二区精品| 久久av偷拍| 男人操女人的视频在线观看欧美 | 午夜精品成人av| 亚洲精品中文字幕99999| 免费在线小视频| 日韩动漫一区| 亚洲精品a级片| 丰满少妇一区| 日本不卡高清视频| 久久久久蜜桃| 韩国女主播一区二区三区| 蜜臀久久99精品久久久久宅男| 国产精品不卡| 国产精品亚洲综合色区韩国| 亚洲激情精品| 亚洲综合电影| 欧美国产亚洲精品| 日韩激情网站| 性色一区二区| 久久精品不卡| 国产白浆在线免费观看| 首页国产欧美日韩丝袜| 日韩va欧美va亚洲va久久| 欧美日韩精品免费观看视完整| 亚洲毛片在线免费| 不卡中文字幕| 国产乱码午夜在线视频| 国产日韩亚洲欧美精品| 久久国产精品久久w女人spa| 精品一区不卡| 欧美另类中文字幕| 亚洲综合小说| 精品1区2区3区4区| 国产a久久精品一区二区三区| 欧美日韩a区| 亚洲专区视频| 日韩午夜高潮| 亚洲成人二区| 国产成人精选| 精品一区二区三区中文字幕在线| 日韩精品免费视频一区二区三区| 天堂网在线观看国产精品| 黄色在线观看www| 欧美国产中文高清| 国产亚洲精aa在线看| 麻豆亚洲精品| 午夜国产欧美理论在线播放| 日韩欧美看国产| 福利一区和二区| 欧美国产专区| 国产精品久久久久久久久久齐齐| 亚洲日本久久| 久久最新视频| 欧美粗暴jizz性欧美20| 综合日韩av| 国产aⅴ精品一区二区四区| 国产精品久久国产愉拍| 久久av在线| 免费的成人av| 日韩中文欧美在线| 欧美一级专区| 丝袜亚洲另类欧美| 中文欧美日韩| 好看的av在线不卡观看| 国产一在线精品一区在线观看| 成人久久一区| 99精品电影| 国产一在线精品一区在线观看| 色婷婷久久久| 婷婷成人在线| 婷婷六月综合| 久久亚洲风情| 欧美精品黄色| 中国女人久久久| 在线免费观看亚洲| 日韩精品一区二区三区中文在线| 亚洲人成网站在线在线观看| 一区二区亚洲视频| 日韩国产高清在线| 青青草国产精品亚洲专区无| 欧美亚洲一级| 美女高潮久久久| 亚洲黄色中文字幕| 欧美日韩国产高清电影| 夜夜嗨一区二区| 综合欧美亚洲| 日韩av三区| 日韩av成人高清| 国产精品麻豆成人av电影艾秋 | 亚洲久久在线| 久久精品凹凸全集| 欧美国产另类| 蜜桃精品在线| 日韩视频在线一区二区三区| 日韩精品一二三| 欧美久久一区二区三区| 国产精品66| 日韩在线综合| 欧美专区在线| 国产精品4hu.www| 国产一区丝袜| 尤物tv在线精品| 免费人成网站在线观看欧美高清| 日本中文字幕不卡| 国产精品红桃| 久久久777| 亚洲精品第一| 国产一区二区精品久| 欧美1级日本1级| 亚洲精品护士| 国产精品久久亚洲不卡| 日韩一区欧美| 日韩影院在线观看| 久久字幕精品一区| 狠狠色综合网| 欧美日韩xxxx| 日韩啪啪电影网| 亚洲精品一级| 国语对白精品一区二区| 91成人精品| 久久精品 人人爱| 久久三级福利| 日韩av成人高清| 日韩精品欧美| 日韩欧美精品一区二区综合视频| 精品国产亚洲一区二区在线观看| 亚洲性图久久| 国产日韩欧美一区| 免费精品国产| 国产精品日韩精品在线播放| 欧美日韩水蜜桃| 亚洲一二av| 日本精品黄色| 免费在线观看一区二区三区| 国内精品美女在线观看| 亚洲日本国产| 久久男女视频| 国产欧美日韩精品高清二区综合区 | 婷婷精品在线观看|