Flutter 의 Timer 문자 인증 코드 구현 60s 카운트다운 기능 코드 획득
두 가지 수요 장면:
1.광고 페이지 3s 후 첫 페이지 로 이동
2.문자 인증번호 60s 카운트다운
첫 번 째 는 수요 에 따라 우리 가 원 하 는 효 과 는 3s 끝 에 동작 을 하 는 것 임 을 알 수 있다.
factory Timer(Duration duration, void callback()) {
if (Zone.current == Zone.root) {
// No need to bind the callback. We know that the root's timer will
// be invoked in the root zone.
return Zone.current.createTimer(duration, callback);
}
return Zone.current
.createTimer(duration, Zone.current.bindCallbackGuarded(callback));
}
두 개의 매개 변수,첫 번 째 매개 변 수 는 시간 을 초과 합 니 다.즉,얼마 후에 원 하 는 동작 을 실행 합 니까?두 번 째 매개 변 수 는 콜백 리 셋 방법 입 니 다.즉,시간 을 초과 한 후에 실행 하고 자 하 는 동작 은 무엇 입 니까?예 를 들 어 첫 페이지 로 이동 하 는 것 입 니 다.두 번 째 는 카운트다운 을 끊임없이 해 야 한 다 는 것 이다.
factory Timer.periodic(Duration duration, void callback(Timer timer)) {
if (Zone.current == Zone.root) {
// No need to bind the callback. We know that the root's timer will
// be invoked in the root zone.
return Zone.current.createPeriodicTimer(duration, callback);
}
var boundCallback = Zone.current.bindUnaryCallbackGuarded<Timer>(callback);
return Zone.current.createPeriodicTimer(duration, boundCallback);
}
이러한 호출 방식 과 위의 방식 의 차 이 는 다음 과 같다.첫 번 째 는 한 번 만 리 셋 할 수 있다.즉,시간 초과 시간 이 된 후에 콜백 리 셋 방법 을 실행 하 는 것 이다.Timer.periodic 호출 방식 은 순환 이 끊 이지 않 는 호출 이다.예 를 들 어 이런 방식 을 통 해 당신 이 설정 한 시간 초과 시간 이 1s 라면 1s 마다 콜백 리 셋 방법 을 호출 할 것 이다.바로 이런 방식 으로 우리 의 문자 인증 코드 60s 카운트다운 을 실현 하 는 것 이다.구체 적 인 용법 을 살 펴 보 자.
Timer _timer;
int _timeCount = 60;
트리거 이벤트:
onTap: () {
_startTimer();
},
처리 방법:
void _startTimer() {
ToastUtil.showTips(' , ');
_timer = Timer.periodic(Duration(seconds: 1), (Timer timer) => {
setState(() {
if(_timeCount <= 0){
_autoCodeText = ' ';
_timer.cancel();
_timeCount = 60;
}else {
_timeCount -= 1;
_autoCodeText = "$_timeCount" + 's';
}
})
});
}
여기 서 Flutter 의 Timer 가 문자 인증 코드 를 실현 하여 60s 카운트다운 기능 을 가 져 오 는 코드 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Flutter 문자 인증 코드 카운트다운 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 저 희 를 많이 응원 해 주세요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Flutter】DateTime 전월의 일수를 취득한다달의 일수를 취득할 필요가 있어, 의외로 수요 있을까라고 생각했으므로 비망록 정도에 남겨 둡니다. DateTime 날짜에 0을 입력하면 전월 DateTime이 됩니다. 2021년 3월 0일 = 2021년 2월 28일...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.