From 0a959c72b7ad981fee1427f5db8e72c0938acd9c Mon Sep 17 00:00:00 2001
From: Administrator <123>
Date: Sat, 06 Nov 2021 01:55:17 +0000
Subject: [PATCH] btn样式

---
 app/src/main/java/com/duqing/missions/ui/login/view/LoginActivity.java |   50 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 35 insertions(+), 15 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 551e4c9..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
@@ -23,19 +23,17 @@
 import com.duqing.missions.databinding.ActivityLoginBinding;
 
 
-public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding> {
+public class LoginActivity extends BaseTitleBarActivity<ActivityLoginBinding,LoginViewModel> {
 
-    private LoginViewModel loginViewModel;
 
     @Override
     public void initViews() {
 
-        loginViewModel = new ViewModelProvider(this, new LoginViewModelFactory()).get(LoginViewModel.class);
-
         final EditText phoneEdit = binding.editPhone;
         final EditText passwordEditText = binding.editPassword;
         final Button loginButton = binding.login;
-        loginViewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() {
+
+        viewModel.getLoginFormState().observe(this, new Observer<LoginFormState>() {
             @Override
             public void onChanged(@Nullable LoginFormState loginFormState) {
                 if (loginFormState == null) {
@@ -50,8 +48,7 @@
                 }
             }
         });
-
-        loginViewModel.getLoginResult().observe(this, new Observer<LoginResult>() {
+        viewModel.getLoginResult().observe(this, new Observer<LoginResult>() {
             @Override
             public void onChanged(@Nullable LoginResult loginResult) {
                 if (loginResult == null) {
@@ -69,7 +66,6 @@
                 finish();
             }
         });
-
         binding.txtPasswordTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -79,7 +75,6 @@
                 unCheckStyle(binding.txtVerifyTitle);
             }
         });
-
         binding.txtVerifyTitle.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -89,7 +84,6 @@
                 unCheckStyle(binding.txtPasswordTitle);
             }
         });
-
         TextWatcher afterTextChangedListener = new TextWatcher() {
             @Override
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -103,31 +97,57 @@
 
             @Override
             public void afterTextChanged(Editable s) {
-                loginViewModel.loginDataChanged(phoneEdit.getText().toString(),
+                viewModel.loginDataChanged(phoneEdit.getText().toString(),
                         passwordEditText.getText().toString());
             }
         };
         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) {
-                    loginViewModel.login(phoneEdit.getText().toString(),
+                    viewModel.login(phoneEdit.getText().toString(),
                             passwordEditText.getText().toString());
                 }
                 return false;
             }
         });
-
         loginButton.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                loginViewModel.login(phoneEdit.getText().toString(),
+                viewModel.login(phoneEdit.getText().toString(),
                         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