手機直播原始碼,驗證碼自動讀秒倒數計時
手機直播原始碼,驗證碼自動讀秒倒數計時實現的相關程式碼
一、CountDownTimer類介紹
CountDownTimer類是一個抽象類,需要寫一個子類來繼承,如:
class TimeCount extends CountDownTimer { public TimeCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); } @Override public void onTick(long millisUntilFinished) { mSend.setBackgroundColor(Color.parseColor("#B6B6D8")); mSend.setClickable(false); mSend.setText(millisUntilFinished / 1000 + " 秒後可重新傳送"); } @Override public void onFinish() { mSend.setText("重新獲取驗證碼"); mSend.setClickable(true); mSend.setBackgroundColor(Color.parseColor("#4EB84A")); } }
其中在構造方法中,引數millisInFuture代表設定倒數計時的總時間(毫秒),引數countDownInterval代表設定每次減去的時間(毫秒)。onTick()方法是進行倒數計時的時候開始執行的,onFinish()方法是倒數計時結束之後執行的。
另外,CountDownTimer類還有start()和cancle()兩個方法,呼叫start()方法會開始倒數計時,呼叫cancle()方法取消當前任務。
二、實現倒數計時按鈕
private TimeCount time; private Button mSend; @Override protected void onCreateView(Bundle savedInstanceState) { super.onCreateView(savedInstanceState); setContentView(R.layout.fragment_phone); mSend = (Button) findViewById(R.id.btn_send); time = new TimeCount(60000, 1000); mSend.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { phone = mEtPhone.getText().toString(); if (TextUtils.isEmpty(phone)) { CustomToast.showShortError(getApplicationContext(), "請輸入賬號"); return; } if (!CheckUtil.isPhoneLegal(phone)) { CustomToast.showShortError(getApplicationContext(), "手機格式不合法"); return; } //傳送請求 LoginHttpClient.getClient().sms(getApplicationContext(), phone, Constants.SMS_TYPE_MESSAGE, mScene, new ResponseListener<ResponseInfo>() { @Override public void onSuccess(ResponseInfo info) { switch (info.errno) { case Errno.OK: Bundle bundle = new Bundle(); bundle.putString(Constants.BUNDLE_KEY_PHONE, phone); bundle.putInt(Constants.BUNDLE_KEY_SCENE, mScene); CustomToast.showShortComplete(getApplicationContext(), "簡訊驗證碼已傳送"); //開啟倒數計時 time.start(); break; case Errno.ACCOUNT_NOT_EXISTS: CustomToast.showShortError(getApplicationContext(), "該使用者未註冊"); break; default: CustomToast.showShortError(getApplicationContext(), info.msg); break; } } @Override public void onFail(Throwable throwable) { CustomToast.showShortError(getApplicationContext(), "請稍後重試"); } }); } }); @Override public void onDestroy() { time.cancel(); super.onDestroy(); }
當傳送請求時呼叫time.start()方法,開始倒數計時60秒,並執行onTick()方法,改變button的樣式,60秒倒數計時結束的時候呼叫onFinish()方法。注意:不呼叫time.start()方法的話是不會開啟倒數計時的。在銷燬activity的時候,呼叫cancle()方法,以防止記憶體洩漏和出現如空指標等異常。
以上就是 手機直播原始碼,驗證碼自動讀秒倒數計時實現的相關程式碼,更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2867393/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 視訊直播系統原始碼,倒數計時顯示,商品秒殺倒數計時原始碼
- app直播原始碼,驗證時實現獲取驗證碼並顯示倒數計時的功能APP原始碼
- 獲取驗證碼倒數計時
- 直播商城系統原始碼,js製作倒數計時,天,小時,分,秒原始碼JS
- 小程式 - 驗證碼倒數計時元件元件
- js實現驗證碼倒數計時JS
- js自動倒數計時程式碼,倒數計時完畢時自動停止迴圈JS
- JavaScript 倒數計時60秒程式碼JavaScript
- js倒數計時 實現傳送驗證碼倒數計時60sJS
- 直播小程式原始碼,vue實現時間倒數計時原始碼Vue
- Flutter 驗證碼倒數計時Widget封裝Flutter封裝
- js驗證碼重新傳送倒數計時效果JS
- Ionic Angular 實現驗證碼倒數計時功能Angular
- 線上直播系統原始碼,預設倒數計時,自定義輸入時間倒數計時原始碼
- 直播系統原始碼,實現倒數計時,定時任務原始碼
- 線上直播原始碼,通過手機號簡訊接收驗證碼原始碼
- setInterval和setTimeout區別(驗證碼倒數計時)
- jquery 實現 點選按鈕後倒數計時效果,多用於實現傳送手機驗證碼、郵箱驗證碼jQuery
- JavaScript倒數計時60秒程式碼詳解JavaScript
- 直播電商原始碼,商品出售倒數計時的定時器效果原始碼定時器
- 直播app原始碼,驗證方式選擇郵箱驗證時,自動給輸入好的郵箱傳送驗證碼APP原始碼
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- Android使用CountDownTimer實現驗證碼倒數計時Android
- 按鈕倒數計時指定秒數可用程式碼例項
- 直播系統app原始碼,自定義可以暫停的倒數計時APP原始碼
- 短視訊app製作,驗證碼輸入時間倒數計時APP
- php短視訊原始碼,自動生成驗證碼,支援點選更換驗證碼數字PHP原始碼
- 影片直播app原始碼,傳送驗證碼 驗證碼識別APP原始碼
- 影片直播原始碼,前端canvas動態驗證碼實現原始碼前端Canvas
- js程式碼實現倒數計時秒殺的效果JS
- js獲取驗證碼倒數計時60s(超簡單)JS
- 直播網站原始碼,Canvas實現圓形時間倒數計時進度條網站原始碼Canvas
- 原始碼分析:CountDownLatch 之倒數計時門栓原始碼CountDownLatch
- 直播app原始碼,進行身份驗證時,檢測身份證位數夠不夠APP原始碼
- 直播app原始碼,登入時自動輸入密碼/自動記住密碼APP原始碼密碼
- 直播系統原始碼,選擇驗證方式時選擇郵箱驗證原始碼
- 手機號碼驗證
- 手機直播原始碼,Android Studio使用者登入及驗證原始碼Android