Android實現驗證碼倒計時

在Android開發中,很多APP中都使用到驗證碼的獲取功能,獲取驗證碼的界面在點擊獲取驗證碼之後會有時間的變化和限制以及獲取驗證碼的按鈕不可再按。實現該界面的操作如下:
首先我們在XML文件中創建一個Button,並給它命名爲Captcha,設置好各種屬性,這裏不再贅述。
接下來,我們編寫Activity.java文件。在.java文件中實現倒計時效果是使用CountDownTime類實現的。

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private TimeCount time;
    private Button bt;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_zhuce);
        time=new TimeCount(60000,1000);
        bt=findViewById(R.id.Captcha);
        bt.setOnClickListener(this);
    }

    @Override
    public void onClick(View view) {
        switch(view.getId()){
            case R.id.Captcha:
                time.start();
                break;
        }
    }

    class TimeCount extends CountDownTimer{
        public TimeCount(long m,long n){
            super(m,n);
        }

        @Override
        public void onTick(long l) {
            bt.setBackgroundColor(Color.parseColor("#B6B6D8"));
            bt.setClickable(false);
            bt.setText("("+l/1000+")秒後可重新發送");
        }

        @Override
        public void onFinish() {
            bt.setText("重新獲取驗證碼");
            bt.setClickable(true);
            bt.setBackgroundColor(Color.parseColor("#4EB84A"));
        }
    }
}

歡迎大佬評論探討·······

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章