diff --git a/app/src/main/java/com/ouxuan/oxface/MainActivity.java b/app/src/main/java/com/ouxuan/oxface/MainActivity.java index c07f169..3fa5db9 100644 --- a/app/src/main/java/com/ouxuan/oxface/MainActivity.java +++ b/app/src/main/java/com/ouxuan/oxface/MainActivity.java @@ -2,12 +2,18 @@ package com.ouxuan.oxface; import androidx.appcompat.app.AppCompatActivity; import android.animation.ObjectAnimator; +import android.app.Dialog; +import android.graphics.Color; +import android.graphics.drawable.ColorDrawable; import android.os.Bundle; import android.text.InputType; import android.view.MotionEvent; import android.view.View; +import android.view.Window; +import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.ImageView; +import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @@ -97,23 +103,23 @@ public class MainActivity extends AppCompatActivity { } private boolean validateInput(String username, String password) { - if (username.isEmpty()) { - showToast("请输入登录账号"); - editTextUsername.requestFocus(); - return false; - } + // if (username.isEmpty()) { + // showToast("请输入登录账号"); + // editTextUsername.requestFocus(); + // return false; + // } - if (password.isEmpty()) { - showToast("请输入密码"); - editTextPassword.requestFocus(); - return false; - } + // if (password.isEmpty()) { + // showToast("请输入密码"); + // editTextPassword.requestFocus(); + // return false; + // } - if (password.length() < 6) { - showToast("密码长度至少6位"); - editTextPassword.requestFocus(); - return false; - } + // if (password.length() < 6) { + // showToast("密码长度至少6位"); + // editTextPassword.requestFocus(); + // return false; + // } return true; } @@ -121,8 +127,10 @@ public class MainActivity extends AppCompatActivity { private void performLogin(String username, String password) { // 这里可以添加实际的登录逻辑 // 目前只是显示一个简单的提示 + + showLoginSuccessDialog(); + if (username.equals("admin") && password.equals("123456")) { - showToast("登录成功!欢迎 " + username); } else { showToast("用户名或密码错误"); } @@ -174,4 +182,66 @@ public class MainActivity extends AppCompatActivity { // 保持光标在文本末尾 editTextPassword.setSelection(editTextPassword.getText().length()); } + + /** + * 显示登录成功弹框 + */ + private void showLoginSuccessDialog() { + // 创建自定义弹框 + Dialog dialog = new Dialog(this); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setContentView(R.layout.dialog_login_success); + + // 设置弹框背景透明并调整尺寸 + if (dialog.getWindow() != null) { + dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); + + // 设置弹框宽度为屏幕宽度的85%,确保在屏幕中自然居中 + android.view.WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes(); + android.util.DisplayMetrics displayMetrics = new android.util.DisplayMetrics(); + getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); + int screenWidth = displayMetrics.widthPixels; + layoutParams.width = (int) (screenWidth * 0.85); // 设置为屏幕宽度的85% + layoutParams.height = android.view.WindowManager.LayoutParams.WRAP_CONTENT; + dialog.getWindow().setAttributes(layoutParams); + } + + // 初始化弹框的组件 + Spinner spinnerPlatform = dialog.findViewById(R.id.spinnerPlatform); + View buttonEnter = dialog.findViewById(R.id.buttonEnter); + View buttonClose = dialog.findViewById(R.id.buttonClose); + + // 设置关闭按钮点击事件 + buttonClose.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + } + }); + + // 设置平台选择下拉框的数据 + String[] platforms = {"请选择设备", "平台1", "平台2", "平台3"}; + ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, platforms); + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + spinnerPlatform.setAdapter(adapter); + + // 设置进入使用按钮点击事件 + buttonEnter.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + int selectedPosition = spinnerPlatform.getSelectedItemPosition(); + if (selectedPosition == 0) { + showToast("请选择设备"); + } else { + String selectedPlatform = platforms[selectedPosition]; + showToast("进入 " + selectedPlatform + " 成功!"); + dialog.dismiss(); + // 这里可以添加跳转到主界面的逻辑 + } + } + }); + + // 显示弹框 + dialog.show(); + } } \ No newline at end of file diff --git a/app/src/main/res/drawable/dialog_background.xml b/app/src/main/res/drawable/dialog_background.xml new file mode 100644 index 0000000..d0ddc3d --- /dev/null +++ b/app/src/main/res/drawable/dialog_background.xml @@ -0,0 +1,14 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/enter_button_selector.xml b/app/src/main/res/drawable/enter_button_selector.xml new file mode 100644 index 0000000..45c3fd6 --- /dev/null +++ b/app/src/main/res/drawable/enter_button_selector.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_close.xml b/app/src/main/res/drawable/ic_close.xml new file mode 100644 index 0000000..de974cd --- /dev/null +++ b/app/src/main/res/drawable/ic_close.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_warriors_logo.xml b/app/src/main/res/drawable/ic_warriors_logo.xml new file mode 100644 index 0000000..412f59d --- /dev/null +++ b/app/src/main/res/drawable/ic_warriors_logo.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_login_success.xml b/app/src/main/res/layout/dialog_login_success.xml new file mode 100644 index 0000000..602c62a --- /dev/null +++ b/app/src/main/res/layout/dialog_login_success.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file