Commit 828cf2d1 by 胡学良

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

parent 38b5cebb
......@@ -22,7 +22,6 @@
</intent-filter>
</activity>
<activity android:name=".ui.page.LoginActivity">
</activity>
<activity android:name=".ui.page.RegisterSuccess"></activity>
<activity
......
......@@ -2,11 +2,13 @@ package cn.yunliyunwai.beyondclouds.ui.page;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
import android.widget.EditText;
......@@ -19,18 +21,27 @@ public class LoginActivity extends AppCompatActivity {
private ActivityLoginBinding binding;
private Editable lastAccount;
private Editable lastMobile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityLoginBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
changeEditTextSize(binding.loginAccountEditText, binding.loginAccountBorder);
changeEditTextSize(binding.loginPasswordEditText, binding.loginPasswordBorder);
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 textView
*/
......@@ -46,11 +57,9 @@ public class LoginActivity extends AppCompatActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 0) {
hint = true;
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
} else {
hint = false;
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
}
}
......@@ -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点击事件,显示密码与隐藏密码
* @param view
*/
......@@ -70,16 +97,76 @@ public class LoginActivity extends AppCompatActivity {
boolean isPwdVisible = !view.isSelected();
if (isPwdVisible) {
view.setSelected(true);
binding.showPasswordButton.setText(R.string.icon_eye);
binding.loginShowPasswordButton.setText(R.string.icon_eye);
HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance();
binding.loginPasswordEditText.setTransformationMethod(method);
} else {
view.setSelected(false);
binding.showPasswordButton.setText(R.string.icon_eye_slash);
binding.loginShowPasswordButton.setText(R.string.icon_eye_slash);
PasswordTransformationMethod method = PasswordTransformationMethod.getInstance();
binding.loginPasswordEditText.setTransformationMethod(method);
}
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;
import androidx.appcompat.app.AppCompatActivity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
......@@ -19,6 +20,11 @@ public class RegisterActivity extends AppCompatActivity {
private ActivityRegisterBinding binding;
private Editable lastMobile;
private Editable lastEmail;
@SuppressLint("WrongConstant")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -26,13 +32,18 @@ public class RegisterActivity extends AppCompatActivity {
binding = ActivityRegisterBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
changeEditTextSize(binding.registerMobileEditText, binding.registerMobileBorder);
changeEditTextSize(binding.registerAccountEditText, binding.registerAccountBorder);
changeEditTextSize(binding.registerAuthCodeEditText, binding.registerAuthCodeBorder);
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 textView
*/
......@@ -48,11 +59,9 @@ public class RegisterActivity extends AppCompatActivity {
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (s.length() == 0) {
hint = true;
textView.setBackgroundResource(R.drawable.background_edit_text_lose_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12);
} else {
hint = false;
textView.setBackgroundResource(R.drawable.background_edit_text_on_focus);
editText.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15);
}
}
......@@ -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点击事件,显示密码与隐藏密码
* @param view
*/
......@@ -72,16 +99,74 @@ public class RegisterActivity extends AppCompatActivity {
boolean isPwdVisible = !view.isSelected();
if (isPwdVisible) {
view.setSelected(true);
binding.showPasswordButton.setText(R.string.icon_eye);
binding.registerShowPasswordButton.setText(R.string.icon_eye);
HideReturnsTransformationMethod method = HideReturnsTransformationMethod.getInstance();
binding.registerPasswordEditText.setTransformationMethod(method);
} else {
view.setSelected(false);
binding.showPasswordButton.setText(R.string.icon_eye_slash);
binding.registerShowPasswordButton.setText(R.string.icon_eye_slash);
PasswordTransformationMethod method = PasswordTransformationMethod.getInstance();
binding.registerPasswordEditText.setTransformationMethod(method);
}
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 @@
<color name="colorGray">#666666</color>
<color name="colorTextAccent">#333333</color>
<color name="colorBackgroundTopicTouched">#3000AAE6</color>
<color name="button_on_focus">#2f2f2f</color>
<color name="button_lose_focus">#999999</color>
</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