Android 인증 코드 획득 카운트다운 기능 구현

본 논문 의 사례 는 안 드 로 이 드 가 인증 코드 카운트다운 기능 을 가 져 오 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

인증 코드 카운트다운 을 가 져 오 는 것 은 현재 App 에서 흔히 볼 수 있 습 니 다.그의 주요 기능 은 TextView 에 클릭 이 벤트 를 설정 하 는 것 입 니 다.그러나 클릭 한 후에 카운트다운 이 나타 나 면 카운트다운 할 때 클릭 이 벤트 를 터치 할 수 없습니다.
카운트다운 이 끝나 면 인증 코드 를 다시 가 져 올 때 클릭 이 벤트 를 다시 시작 할 수 있 습 니 다.
실제 프로젝트 에서 보통 1 분 을 설정 합 니 다.우 리 는 그렇게 길 게 설정 하지 않 고 10 초 를 설정 합 니 다.
먼저,이 demo 는 매우 간단 합 니 다.도구 류 는 상관 하지 않 고 프로젝트 에 직접 복사 하면 두 단계 의 코드 만 있 으 면 됩 니 다.
첫 번 째 단계:도구 클래스 관련 을 초기 화 하려 면 카운트다운 기능 이 필요 한 TextView

/** 
 *      :TextView  (        TextView) 
 *      :      ,      ; 
 *      :    ,  1 ,      0-1000       ,  1000         
 *       :  textview      
 *      :  textview      
 */ 
SendSmsTimerUtils mCountDownTimerUtils = new SendSmsTimerUtils(textView, 10000, 1000,R.color.colorAccent,R.color.abcd); 
두 번 째 단계:TextView 클릭 이벤트 에서 카운트다운 시작

textView.setOnClickListener(new View.OnClickListener() { 
 
  public void onClick(View v) { 
 
    mCountDownTimerUtils.start(); 
  } 
}); 
앞 뒤로 두 줄 코드 를 더 하면 바로 해결 합 니 다.
알 고 싶 거나 계속 포장 하고 싶 은 동지 들 은 도구 류 를 내 려 다 볼 수 있다.
사실 이 공구 류 는 제 가 쓴 것 도 아니 고 github 에서 무심코 발견 한 공구 류 입 니 다.느낌 이 아주 좋 습 니 다.포장 해서 가 져 와 서 직접 사 용 했 습 니 다.

public class SendSmsTimerUtils extends CountDownTimer { 
  private int inFuture; 
  private int downInterval; 
  private TextView mTextView; 
 
  public SendSmsTimerUtils(TextView textView, long millisInFuture, long countDownInterval, int inFuture, int downInterval) { 
    super(millisInFuture, countDownInterval); 
    this.mTextView = textView; 
    this.inFuture=inFuture; 
    this.downInterval=downInterval; 
  } 
 
  public void onTick(long millisUntilFinished) { 
    mTextView.setClickable(false); 
    mTextView.setText(millisUntilFinished / 1000 + "       "); 
    mTextView.setBackgroundResource(downInterval);  
 
    SpannableString spannableString = new SpannableString(mTextView.getText().toString()); 
    ForegroundColorSpan span = new ForegroundColorSpan(Color.RED); 
    //        
    if (millisUntilFinished/1000 > 9) { 
      spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 
    } else { 
      spannableString.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); 
    } 
    mTextView.setText(spannableString); 
  } 
 
  @Override 
  public void onFinish() { 
    mTextView.setText("       "); 
    mTextView.setClickable(true); 
    mTextView.setBackgroundResource(inFuture); 
  } 
} 
클릭 하여 링크 열기 무료원본 코드 다운로드
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기