From 05d90004c120c5b597565bc99c7d3b85f15a4e73 Mon Sep 17 00:00:00 2001 From: Administrator <123> Date: Fri, 05 Nov 2021 06:47:38 +0000 Subject: [PATCH] 短信验证码 倒计时 大厅顶部 UI --- app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java | 32 +++++++++++++++++++++++++++++++- 1 files changed, 31 insertions(+), 1 deletions(-) diff --git a/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java b/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java index 63f177a..d963549 100644 --- a/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java +++ b/app/src/main/java/com/duqing/missions/ui/login/view/LoginViewModel.java @@ -1,5 +1,6 @@ package com.duqing.missions.ui.login.view; +import android.os.CountDownTimer; import android.util.Patterns; import androidx.lifecycle.LiveData; @@ -20,6 +21,8 @@ private MutableLiveData<LoginFormState> loginFormState = new MutableLiveData<>(); private MutableLiveData<LoginResult> loginResult = new MutableLiveData<>(); private LoginRepository loginRepository; + private MutableLiveData<Long> countDown = new MutableLiveData<>(); + private CountDownTimer timer; LoginViewModel(LoginRepository loginRepository) { this.loginRepository = loginRepository; @@ -86,4 +89,31 @@ private boolean isPasswordValid(String password) { return password != null && password.trim().length() > 5; } -} \ No newline at end of file + + public MutableLiveData<Long> getCountDown() { + return countDown; + } + + /** + * 启动倒计时 + * @param consumedTime + */ + public void startCountDown(long consumedTime){ + //倒计时 + timer = new CountDownTimer(60 * 1000-consumedTime, 1000) { + + @Override + public void onTick(long l) { + countDown.postValue(l / 1000); + } + + @Override + public void onFinish() { + countDown.setValue(0l); + } + }; + timer.start(); + } + + +} -- Gitblit v1.9.1