Commit 828cf2d1 by 胡学良

增加不同登录、注册界面的切换

parent 38b5cebb
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".ui.page.LoginActivity"> <activity android:name=".ui.page.LoginActivity">
</activity> </activity>
<activity android:name=".ui.page.RegisterSuccess"></activity> <activity android:name=".ui.page.RegisterSuccess"></activity>
<activity <activity
......
...@@ -2,11 +2,13 @@ package cn.yunliyunwai.beyondclouds.ui.page; ...@@ -2,11 +2,13 @@ package cn.yunliyunwai.beyondclouds.ui.page;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.text.method.HideReturnsTransformationMethod; import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod; import android.text.method.PasswordTransformationMethod;
import android.util.Log;
import android.util.TypedValue; import android.util.TypedValue;
import android.view.View; import android.view.View;
import android.widget.EditText; import android.widget.EditText;
...@@ -19,18 +21,27 @@ public class LoginActivity extends AppCompatActivity { ...@@ -19,18 +21,27 @@ public class LoginActivity extends AppCompatActivity {
private ActivityLoginBinding binding; private ActivityLoginBinding binding;
private Editable lastAccount;
private Editable lastMobile;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
binding = ActivityLoginBinding.inflate(getLayoutInflater()); binding = ActivityLoginBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot()); setContentView(binding.getRoot());
changeEditTextSize(binding.loginAccountEditText, binding.loginAccountBorder); changeEditTextSize(binding.loginAccountEditText, binding.loginAccountBorder);
changeEditTextSize(binding.loginPasswordEditText, binding.loginPasswordBorder); changeEditTextSize(binding.loginPasswordEditText, binding.loginPasswordBorder);
changeEditTextSize(binding.loginAuthCodeEditText, binding.loginAuthCodeBorder); changeEditTextSize(binding.loginAuthCodeEditText, binding.loginAuthCodeBorder);
changeEditTextBorderStyle(binding.loginAccountEditText, binding.loginAccountBorder);
changeEditTextBorderStyle(binding.loginPasswordEditText, binding.loginPasswordBorder);
changeEditTextBorderStyle(binding.loginAuthCodeEditText, binding.loginAuthCodeBorder);
} }
/** /**
* 改变用户输入前后EditText中字体的大小和边框的样式 * 改变用户输入前后EditText中字体的大小
* @param editText * @param editText
* @param textView * @param textView
*/ */
...@@ -46,11 +57,9 @@ public class LoginActivity extends AppCompatActivity { ...@@ -46,11 +57,9 @@ public class LoginActivity extends AppCompatActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) { public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 0) { if (s.length() == 0) {
hint = true; hint = true;
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12); editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
} else { } else {
hint = false; hint = false;
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15); editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
} }
} }
...@@ -63,6 +72,24 @@ public class LoginActivity extends AppCompatActivity { ...@@ -63,6 +72,24 @@ public class LoginActivity extends AppCompatActivity {
} }
/** /**
* 改变输入框获得焦点时边框的样式
* @param editText
* @param textView
*/
private void changeEditTextBorderStyle(EditText editText, TextView textView) {
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
} else {
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
}
}
});
}
/**
* show_password_button点击事件,显示密码与隐藏密码 * show_password_button点击事件,显示密码与隐藏密码
* @param view * @param view
*/ */
...@@ -70,16 +97,76 @@ public class LoginActivity extends AppCompatActivity { ...@@ -70,16 +97,76 @@ public class LoginActivity extends AppCompatActivity {
boolean isPwdVisible = !view.isSelected(); boolean isPwdVisible = !view.isSelected();
if (isPwdVisible) { if (isPwdVisible) {
view.setSelected(true); view.setSelected(true);
binding.showPasswordButton.setText(R.string.icon_eye); binding.loginShowPasswordButton.setText(R.string.icon_eye);
HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance(); HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance();
binding.loginPasswordEditText.setTransformationMethod(method); binding.loginPasswordEditText.setTransformationMethod(method);
} else { } else {
view.setSelected(false); view.setSelected(false);
binding.showPasswordButton.setText(R.string.icon_eye_slash); binding.loginShowPasswordButton.setText(R.string.icon_eye_slash);
PasswordTransformationMethod method = PasswordTransformationMethod.getInstance(); PasswordTransformationMethod method = PasswordTransformationMethod.getInstance();
binding.loginPasswordEditText.setTransformationMethod(method); binding.loginPasswordEditText.setTransformationMethod(method);
} }
binding.loginPasswordEditText.setSelection(binding.loginPasswordEditText.getText().toString().length()); binding.loginPasswordEditText.setSelection(binding.loginPasswordEditText.getText().toString().length());
} }
/**
* 密码登录
* @param view
*/
@SuppressLint("WrongConstant")
public void passwordLogin(View view) {
binding.passwordLoginTitle.setTextColor(getResources().getColor(R.color.button_on_focus));
binding.messageLoginTitle.setTextColor(getResources().getColor(R.color.button_lose_focus));
if (binding.loginAccountBorderTitle.getText().toString().equals("手机号:")) {
lastMobile = binding.loginAccountEditText.getText();
}
binding.loginAccountBorderTitle.setText("账 号:");
binding.loginAccountEditText.setHint("请输入账号");
binding.loginAccountEditText.setText(lastAccount);
binding.loginAuthCodeBorder.setVisibility(8);
binding.loginAuthCodeBorderTitle.setVisibility(8);
binding.loginAuthCodeEditText.setVisibility(8);
binding.loginSendAuthCode.setVisibility(8);
binding.loginPasswordBorder.setVisibility(0);
binding.loginPasswordBorderTitle.setVisibility(0);
binding.loginPasswordEditText.setVisibility(0);
binding.loginShowPasswordButton.setVisibility(0);
binding.forgetPasswordButton.setVisibility(0);
binding.loginAccountEditText.clearFocus();
}
/**
* 短信验证码登录
* @param view
*/
@SuppressLint("WrongConstant")
public void messageLogin(View view) {
binding.passwordLoginTitle.setTextColor(getResources().getColor(R.color.button_lose_focus));
binding.messageLoginTitle.setTextColor(getResources().getColor(R.color.button_on_focus));
if (binding.loginAccountBorderTitle.getText().toString().equals("账 号:")) {
lastAccount = binding.loginAccountEditText.getText();
}
binding.loginAccountBorderTitle.setText("手机号:");
binding.loginAccountEditText.setHint("请输入手机号");
binding.loginAccountEditText.setText(lastMobile);
binding.loginPasswordBorder.setVisibility(8);
binding.loginPasswordBorderTitle.setVisibility(8);
binding.loginPasswordEditText.setVisibility(8);
binding.loginShowPasswordButton.setVisibility(8);
binding.forgetPasswordButton.setVisibility(8);
binding.loginAuthCodeBorder.setVisibility(0);
binding.loginAuthCodeBorderTitle.setVisibility(0);
binding.loginAuthCodeEditText.setVisibility(0);
binding.loginSendAuthCode.setVisibility(0);
binding.loginAccountEditText.clearFocus();
}
} }
...@@ -2,6 +2,7 @@ package cn.yunliyunwai.beyondclouds.ui.page; ...@@ -2,6 +2,7 @@ package cn.yunliyunwai.beyondclouds.ui.page;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
...@@ -19,6 +20,11 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -19,6 +20,11 @@ public class RegisterActivity extends AppCompatActivity {
private ActivityRegisterBinding binding; private ActivityRegisterBinding binding;
private Editable lastMobile;
private Editable lastEmail;
@SuppressLint("WrongConstant")
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -26,13 +32,18 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -26,13 +32,18 @@ public class RegisterActivity extends AppCompatActivity {
binding = ActivityRegisterBinding.inflate(getLayoutInflater()); binding = ActivityRegisterBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot()); setContentView(binding.getRoot());
changeEditTextSize(binding.registerMobileEditText, binding.registerMobileBorder); changeEditTextSize(binding.registerAccountEditText, binding.registerAccountBorder);
changeEditTextSize(binding.registerAuthCodeEditText, binding.registerAuthCodeBorder); changeEditTextSize(binding.registerAuthCodeEditText, binding.registerAuthCodeBorder);
changeEditTextSize(binding.registerPasswordEditText, binding.registerPasswordBorder); changeEditTextSize(binding.registerPasswordEditText, binding.registerPasswordBorder);
changeEditTextBorderStyle(binding.registerAccountEditText, binding.registerAccountBorder);
changeEditTextBorderStyle(binding.registerAuthCodeEditText, binding.registerAuthCodeBorder);
changeEditTextBorderStyle(binding.registerPasswordEditText, binding.registerPasswordBorder);
} }
/** /**
* 改变用户输入前后EditText中字体的大小和边框的样式 * 改变用户输入前后EditText中字体的大小
* @param editText * @param editText
* @param textView * @param textView
*/ */
...@@ -48,11 +59,9 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -48,11 +59,9 @@ public class RegisterActivity extends AppCompatActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) { public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 0) { if (s.length() == 0) {
hint = true; hint = true;
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12); editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
} else { } else {
hint = false; hint = false;
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15); editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
} }
} }
...@@ -65,6 +74,24 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -65,6 +74,24 @@ public class RegisterActivity extends AppCompatActivity {
} }
/** /**
* 改变输入框获得焦点时边框的样式
* @param editText
* @param textView
*/
private void changeEditTextBorderStyle(EditText editText, TextView textView) {
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
} else {
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
}
}
});
}
/**
* show_password_button点击事件,显示密码与隐藏密码 * show_password_button点击事件,显示密码与隐藏密码
* @param view * @param view
*/ */
...@@ -72,16 +99,74 @@ public class RegisterActivity extends AppCompatActivity { ...@@ -72,16 +99,74 @@ public class RegisterActivity extends AppCompatActivity {
boolean isPwdVisible = !view.isSelected(); boolean isPwdVisible = !view.isSelected();
if (isPwdVisible) { if (isPwdVisible) {
view.setSelected(true); view.setSelected(true);
binding.showPasswordButton.setText(R.string.icon_eye); binding.registerShowPasswordButton.setText(R.string.icon_eye);
HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance(); HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance();
binding.registerPasswordEditText.setTransformationMethod(method); binding.registerPasswordEditText.setTransformationMethod(method);
} else { } else {
view.setSelected(false); view.setSelected(false);
binding.showPasswordButton.setText(R.string.icon_eye_slash); binding.registerShowPasswordButton.setText(R.string.icon_eye_slash);
PasswordTransformationMethod method = PasswordTransformationMethod.getInstance(); PasswordTransformationMethod method = PasswordTransformationMethod.getInstance();
binding.registerPasswordEditText.setTransformationMethod(method); binding.registerPasswordEditText.setTransformationMethod(method);
} }
binding.registerPasswordEditText.setSelection(binding.registerPasswordEditText.getText().toString().length()); binding.registerPasswordEditText.setSelection(binding.registerPasswordEditText.getText().toString().length());
} }
/**
* 手机号注册
* @param view
*/
@SuppressLint("WrongConstant")
public void mobileRegister(View view) {
binding.mobileRegisterTitle.setTextColor(getResources().getColor(R.color.button_on_focus));
binding.emailRegisterTitle.setTextColor(getResources().getColor(R.color.button_lose_focus));
if (binding.registerAccountBorderTitle.getText().toString().equals("邮箱:")) {
lastEmail = binding.registerAccountEditText.getText();
}
binding.registerAccountBorderTitle.setText("手机号:");
binding.registerAccountEditText.setHint("请输入手机号");
binding.registerAccountEditText.setText(lastMobile);
binding.registerPasswordBorder.setVisibility(8);
binding.registerPasswordBorderTitle.setVisibility(8);
binding.registerPasswordEditText.setVisibility(8);
binding.registerShowPasswordButton.setVisibility(8);
binding.registerAuthCodeBorder.setVisibility(0);
binding.registerAuthCodeBorderTitle.setVisibility(0);
binding.registerAuthCodeEditText.setVisibility(0);
binding.registerSendAuthCode.setVisibility(0);
binding.registerAccountEditText.clearFocus();
}
/**
* 邮箱号注册
* @param view
*/
@SuppressLint("WrongConstant")
public void emailRegister(View view) {
binding.mobileRegisterTitle.setTextColor(getResources().getColor(R.color.button_lose_focus));
binding.emailRegisterTitle.setTextColor(getResources().getColor(R.color.button_on_focus));
if (binding.registerAccountBorderTitle.getText().toString().equals("手机号:")) {
lastMobile = binding.registerAccountEditText.getText();
}
binding.registerAccountBorderTitle.setText("邮箱:");
binding.registerAccountEditText.setHint("请输入邮箱");
binding.registerAccountEditText.setText(lastEmail);
binding.registerPasswordBorder.setVisibility(0);
binding.registerPasswordBorderTitle.setVisibility(0);
binding.registerPasswordEditText.setVisibility(0);
binding.registerShowPasswordButton.setVisibility(0);
binding.registerAuthCodeBorder.setVisibility(8);
binding.registerAuthCodeBorderTitle.setVisibility(8);
binding.registerAuthCodeEditText.setVisibility(8);
binding.registerSendAuthCode.setVisibility(8);
binding.registerAccountEditText.clearFocus();
}
} }
...@@ -13,4 +13,6 @@ ...@@ -13,4 +13,6 @@
<color name="colorGray">#666666</color> <color name="colorGray">#666666</color>
<color name="colorTextAccent">#333333</color> <color name="colorTextAccent">#333333</color>
<color name="colorBackgroundTopicTouched">#3000AAE6</color> <color name="colorBackgroundTopicTouched">#3000AAE6</color>
<color name="button_on_focus">#2f2f2f</color>
<color name="button_lose_focus">#999999</color>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment