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/LoginActivity.java | 37 +++++++++++++++++++++++++++++-------- 1 files changed, 29 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java index f1356e0..896d934 100644 --- a/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java +++ b/app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java @@ -16,6 +16,7 @@ import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProvider; import com.duqing.missions.R; import com.duqing.missions.base.activities.BaseTitleBarActivity; @@ -28,11 +29,9 @@ @Override public void initViews() { - final EditText phoneEdit = binding.editPhone; final EditText passwordEditText = binding.editPassword; final Button loginButton = binding.login; - viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() { @Override @@ -49,7 +48,6 @@ } } }); - viewModel.getLoginResult().observe(this, new Observer<LoginResult>() { @Override public void onChanged(@Nullable LoginResult loginResult) { @@ -68,7 +66,6 @@ finish(); } }); - binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -78,7 +75,6 @@ unCheckStyle(binding.txtVerifyTitle); } }); - binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -88,7 +84,6 @@ unCheckStyle(binding.txtPasswordTitle); } }); - TextWatcher afterTextChangedListener = new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { @@ -109,7 +104,6 @@ phoneEdit.addTextChangedListener(afterTextChangedListener); passwordEditText.addTextChangedListener(afterTextChangedListener); passwordEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { - @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { if (actionId == EditorInfo.IME_ACTION_DONE) { @@ -119,7 +113,6 @@ return false; } }); - loginButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -127,6 +120,34 @@ passwordEditText.getText().toString()); } }); + + viewModel.getCountDown().observe(this, new Observer<Long>() { + @Override + public void onChanged(Long l) { + if(l>0){ + binding.textVerify.setTextColor(getResources().getColor(R.color.gray)); + binding.textVerify.setEnabled(false); + binding.textVerify.setText("重新发送("+l+"s)"); + }else{ + binding.textVerify.setEnabled(true); + binding.textVerify.setTextColor(getResources().getColor(R.color.sky)); + binding.textVerify.setText("获取验证码"); + } + } + }); + + binding.textVerify.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + viewModel.startCountDown(0); + } + }); + + } + + @Override + public ViewModelProvider.Factory getViewModelFactory() { + return new LoginViewModelFactory(); } public void checkedStyle(TextView textView){ -- Gitblit v1.9.1