android實現倒計時

方法一:利用計時器動畫ValueAnimator

final ValueAnimator valueAnimator=ValueAnimator.ofInt(5,0);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
 public void onAnimationUpdate(ValueAnimator animator) {
        tv_text.setText((Integer) animator.getAnimatedValue()+"秒");
        if ((Integer)animator.getAnimatedValue()==0){
                 tv_text.setText("靜");
                 valueAnimator.cancel();
        }
}

});

valueAnimator.setDuration(1000*6);
//設置線性插值器(數據勻速變化)
valueAnimator.setInterpolator(new LinearInterpolator());
valueAnimator.start();

方法二:利用CountDownTimer   調用timer.start()開始執行

private int j =59;//秒
private CountDownTimer timer=new CountDownTimer(60*1000, 1000) {
  @Override
  public void onTick(long l) {
     if (j >0) {
     vification.setText(j +"秒後重新獲取");
      j--;
 }
}
 @Override
  public void onFinish() {
  vification.setText("獲取驗證碼");
  vification.setClickable(true);
  timer.cancel();//取消
  }
};

 

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