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);
}
}
클릭 하여 링크 열기 무료원본 코드 다운로드이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.