Android 에서 CountDownTimer 카운트다운 기능 구현
2809 단어 CountDownTimer카운트다운
Countdown Timer 는 안 드 로 이 드 가 자체 적 으로 가지 고 있 는 카운트다운 클래스 입 니 다.이 종 류 를 사용 하면 카운트다운 기능 을 간단하게 실현 할 수 있 습 니 다.
Countdown Timer 의 실현 방식
new CountDownTimer(6000,1000) {// , 。
@Override
public void onTick(long millisUntilFinished) {//
textView.setText(millisUntilFinished / 1000 + " ");
}
@Override
public void onFinish() {//
textView.setText(" ");
}
}.start();
실현 효과타이머 취소
Countdown Timer 의 cancel()방법 을 호출 하면 타 이 머 를 취소 할 수 있 습 니 다.그러나 이 방법 은 안 드 로 이 드 5.0 이상 만 효과 가 있 고 안 드 로 이 드 5.0 이하 에 서 는 효과 가 없습니다.안 드 로 이 드 5.0 이하 시스템 에서 도 cancel 을 사용 해 야 한다 면 Countdown Timer 소스 코드 의 실현 방식 에 따라 다시 실현 해 야 합 니 다.
/**
* Cancel the countdown.
*/
public synchronized final void cancel() {
mCancelled = true;
mHandler.removeMessages(MSG);
}
private static final int MSG = 1;
// handles counting down
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
synchronized (CountDownTimer.this) {
if (mCancelled) {
return;
}
final long millisLeft = mStopTimeInFuture - SystemClock.elapsedRealtime();
if (millisLeft <= 0) {
onFinish();
} else if (millisLeft < mCountdownInterval) {
// no tick, just delay until done
sendMessageDelayed(obtainMessage(MSG), millisLeft);
} else {
long lastTickStart = SystemClock.elapsedRealtime();
onTick(millisLeft);
// take into account user's onTick taking time to execute
long delay = lastTickStart + mCountdownInterval - SystemClock.elapsedRealtime();
// special case: user's onTick took more than interval to
// complete, skip to next interval
while (delay < 0) delay += mCountdownInterval;
sendMessageDelayed(obtainMessage(MSG), delay);
}
}
}
};
안 드 로 이 드 5.0 이상 에 하나 추가 되 었 기 때 문 입 니 다.
private boolean mCancelled = false;
그래서 우 리 는 5.0 이하 의 시스템 에서 만 제거 해 야 한다.
if (mCancelled) {
return;
}
이 판단 을 없 애 면 됩 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위챗 애플릿이 카운트다운 기능을 실현하다본고의 실례는 여러분에게 위챗 프로그램이 카운트다운 기능을 실현하는 구체적인 코드를 공유하여 참고하도록 하였으며, 구체적인 내용은 다음과 같다. 상점 상품 중 이벤트 카운트다운 js wxml wxss 여러분에게 현재...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.