一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android開發之獲取短信驗證碼后按鈕背景變化并且出現倒計時

Android開發之獲取短信驗證碼后按鈕背景變化并且出現倒計時

2021-05-06 14:59Android開發網 Android

在開發是經常會遇到獲取短信驗證碼,然后獲取驗證碼后需要等待n秒倒計時,這時是不能再次發送短信請求的,這是需要一個倒計時程序,本文給大家分享了實現此功能的代碼,需要的朋友參考下

目前越來越多的app在注冊或是進行對應操作時,要求獲取短信驗證碼,在點擊了獲取短信驗證碼的按鈕后,就是出現倒計時,比如倒計時120S,在倒計時期間內,按鈕背景變化并且出現倒計時,當倒計時結束后,如果你沒有獲取到驗證碼,可以再次點擊。

代碼如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
VerCodeTimer mVerCodeTimer=(Button) findViewById(R.id.login_get_ver_code);
private class VerCodeTimer extends CountDownTimer {
    private int seconds;
    private int interval;
    //millisInFuture為你設置的此次倒計時的總時長,比如60秒就設置為60000
    //countDownInterval為你設置的時間間隔,比如一般為1秒,根據需要自定義。
    public VerCodeTimer(long millisInFuture, long countDownInterval) {
      super(millisInFuture, countDownInterval);
      seconds = (int) (millisInFuture / 1000);
      interval= (int) (countDownInterval/1000);
    }
    //每過你規定的時間間隔做的操作
    @Override
    public void onTick(long millisUntilFinished) {
      getVerCodeButton.setText((seconds-interval) + "秒后重新獲取");
    }
    //倒計時結束時做的操作↓↓
    @Override
    public void onFinish() {
      getVerCodeButton.setTextSize(10);
      getVerCodeButton.setText("重新獲取驗證碼");
      getVerCodeButton.setClickable(true);
      getVerCodeButton.setBackgroundResource(R.drawable.login_get_ver_code_before_bg);
    }
  }
  
 @Override
  public void onBackPressed() {
    if (mVerCodeTimer != null)
      mVerCodeTimer.cancel();
    super.onBackPressed();
  }

使用的時候:

?
1
2
3
4
5
getVerCodeButton.setTextSize(11);
 getVerCodeButton.setClickable(false);
 getVerCodeButton.setBackgroundResource(R.drawable.login_get_ver_code_ago_bg);
 mVerCodeTimer = new VerCodeTimer(60000, 1000);
 mVerCodeTimer.start();

login_edit_normal_bg.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle"
  android:useLevel="false">
  <!-- 背景填充顏色值 -->
  <solid android:color="#6c948b" />
  <!-- radius值越大,越趨于圓形 -->
  <corners android:radius="10dip" />
  <!-- 圓角圖像內部填充四周的大小 ,將會以此擠壓內部布置的view -->
  <padding
    android:bottom="10dip"
    android:left="10dip"
    android:right="10dip"
    android:top="10dip" />
</shape>

login_edit_passed_bg.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle"
  android:useLevel="false">
  <!-- 背景填充顏色值 -->
  <solid android:color="#509989" />
  <!-- radius值越大,越趨于圓形 -->
  <corners android:radius="10dip" />
  <!-- 圓角圖像內部填充四周的大小 ,將會以此擠壓內部布置的view -->
  <padding
    android:bottom="10dip"
    android:left="10dip"
    android:right="10dip"
    android:top="10dip" />
</shape>

以上所述是小編給大家介紹了Android開發之獲取短信驗證碼后按鈕背景變化并且出現倒計時 的全部代碼,希望本段代碼能夠幫助大家。同時感謝大家一直以來對服務器之家網站的支持。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频高清 | 国产成人yy精品1024在线 | 日本黄大片影院一区二区 | 女人zooxx禽交 | 国产一页 | 福利片免费一区二区三区 | 奇米影视99 | 好大好硬好深好爽想要小雪 | 亚洲青草视频 | 美女翘臀跪床被打屁股作文 | 无罩看奶禁18 | 青青热久麻豆精品视频在线观看 | 欧美日韩亚洲综合久久久 | 日本色频 | 好骚好紧| 午夜私人影院在线观看 | 亚洲国产日韩成人综合天堂 | 欧美一级在线全免费 | 97精品国产高清在线看入口 | 国产成人久久久精品一区二区三区 | 深夜国产在线 | 亚洲欧洲日产国码天堂 | 免费国产好深啊好涨好硬视频 | 亚洲精品国偷拍自产在线观看蜜臀 | 美女扒开屁股让男人进去 | 国产拍拍拍免费专区在线观看 | 99精品在线| 欧美va在线播放免费观看 | 国产精品亚洲片在线观看麻豆 | 天堂8在线天堂资源bt | 午夜精品久久久久久久99蜜桃i | 风间由美理论片在线观看 | jk制服蕾丝超短裙流白浆 | 色猪视频 | caoporn国产 | 亚洲 欧美 中文 日韩欧美 | 操弄哥哥的108种姿势 | 男人狂擦女人的下面视频 | 美女脱一光二净的视频 | 成人在线观看一区 | 青青草国产精品久久久久 |