登录界面:
转换界面:
Java中的代码
登陆界面:
package com.example.kaohe_one;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
//创建账号和密码
EditText yonghuming;
EditText mima;
Button denglu;
CheckBox xianshimima;
//登陆的账号和密码
String name = "admin";
String pwd = "123456";
//定义String类型的usernumble和password
String usernumber;
String password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取id,获取输入的账号和密码
yonghuming = findViewById(R.id.yonghuming);
mima = findViewById(R.id.mima);
denglu = findViewById(R.id.denglu);
xianshimima = findViewById(R.id.xianshimima);
//账号
yonghuming.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void afterTextChanged(Editable editable) {
usernumber = yonghuming.getText().toString();
}
});
//密码
mima.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { }
@Override
public void afterTextChanged(Editable editable) {
password = mima.getText().toString();
}
});
//登录按键
denglu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yonghuming.getText().toString().isEmpty() || mima.getText().toString().isEmpty()){
Toast.makeText(MainActivity.this, "账号或密码为空", Toast.LENGTH_SHORT).show();
}else if (usernumber.equals(name) && password.equals(pwd)) {
Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(MainActivity.this, two_main.class);
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "账号或密码错误", Toast.LENGTH_SHORT).show();
}
}
});
//密码显示勾选框
xianshimima.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
//显示密码
mima.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
} else {
//隐藏密码
mima.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
});
}
}
注意事项
1.添加背景的代码最好放在最外面那一层代码中,避免背景不能覆盖完全
2.定义变量的类型时,用户名和密码尽量都是String类型,这样的话自定义用户名和密码时就可以时任意字符了;之后要从监听器中得到值的变量类型要用ExitText, Button, CheckBox等
//创建账号和密码
EditText yonghuming;
EditText mima;
Button denglu;
CheckBox xianshimima;
//登陆的账号和密码
String name = "admin";
String pwd = "123456";
//定义String类型的usernumble和password
String usernumber;
String password;
//赋值 yonghuming = findViewById(R.id.yonghuming); mima = findViewById(R.id.mima); denglu = findViewById(R.id.denglu); xianshimima = findViewById(R.id.xianshimima);
3.用addTextChangedListener方法来获取在虚拟机中输入的用户名和密码
4.登录按键用setOnClickListener方法
5.密码勾选框用setOnCheckedChangeListener方法
6.判断输入框中的内容是否为空用isEmpty()方法



