androidstudio写一个登录界面(1)页面布局自定,要求友好、美观,用户名,密码处有提示(hint)P15 (2)点击登录按钮时候若账号密码为空,提示输入账号密码(toast);输入账号、密码无匹配,提示若无账号,请注册 (3)点击注册按钮,跳转至注册页面 (4)点击取消按钮,清空账号密码处数据,软件保持在启动初始状态 (5)如账号密码与注册数据一致,跳转到欢迎页面
时间: 2024-01-08 11:03:04 浏览: 78
利用Android Studio实现登录界面
5星 · 资源好评率100%
好的,我会尽力回答您的问题。以下是实现上述功能的代码:
1. activity_login.xml 布局文件:
```
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="32dp"
android:text="登录"
android:textSize="24sp" />
<EditText
android:id="@+id/et_username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"
android:inputType="text"
android:layout_marginBottom="16dp"/>
<EditText
android:id="@+id/et_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
android:inputType="textPassword"
android:layout_marginBottom="32dp"/>
<Button
android:id="@+id/btn_login"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="登录"/>
<Button
android:id="@+id/btn_register"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="注册"
android:layout_marginTop="16dp"/>
<Button
android:id="@+id/btn_cancel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="取消"
android:layout_marginTop="16dp"/>
</LinearLayout>
```
2. LoginActivity.java 代码:
```
public class LoginActivity extends AppCompatActivity {
private EditText etUsername, etPassword;
private Button btnLogin, btnRegister, btnCancel;
private SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
// 初始化控件
etUsername = findViewById(R.id.et_username);
etPassword = findViewById(R.id.et_password);
btnLogin = findViewById(R.id.btn_login);
btnRegister = findViewById(R.id.btn_register);
btnCancel = findViewById(R.id.btn_cancel);
// 获取SharedPreferences实例
sharedPreferences = getSharedPreferences("user_info", MODE_PRIVATE);
// 登录按钮点击事件
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String userName = etUsername.getText().toString().trim();
String password = etPassword.getText().toString().trim();
if (TextUtils.isEmpty(userName) || TextUtils.isEmpty(password)) {
Toast.makeText(LoginActivity.this, "请输入账号密码", Toast.LENGTH_SHORT).show();
} else {
String savedPassword = sharedPreferences.getString(userName, "");
if (TextUtils.isEmpty(savedPassword)) {
Toast.makeText(LoginActivity.this, "若无账号,请注册", Toast.LENGTH_SHORT).show();
} else {
if (savedPassword.equals(password)) {
Intent intent = new Intent(LoginActivity.this, WelcomeActivity.class);
startActivity(intent);
finish();
} else {
Toast.makeText(LoginActivity.this, "账号或密码错误", Toast.LENGTH_SHORT).show();
}
}
}
}
});
// 注册按钮点击事件
btnRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
startActivity(intent);
}
});
// 取消按钮点击事件
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
etUsername.setText("");
etPassword.setText("");
}
});
}
}
```
在上述代码中,我们使用了SharedPreferences来保存用户的账号和密码,这样即使用户退出应用程序,下次再次打开时也可以直接登录。同时,我们也实现了当用户输入账号密码错误时,提示用户“若无账号,请注册”的功能,这样可以引导用户进行注册。
阅读全文