From 566e9cc91922305f20d55ea51fe43c1cb4707ed0 Mon Sep 17 00:00:00 2001 From: MTing Date: Wed, 27 Aug 2025 15:55:45 +0800 Subject: [PATCH] change package name --- app/build.gradle | 4 +- .../java/com/example/oxfacelogin/MainActivity.java | 135 --------------------- .../main/java/com/ouxuan/oxface/MainActivity.java | 135 +++++++++++++++++++++ 3 files changed, 137 insertions(+), 137 deletions(-) delete mode 100644 app/src/main/java/com/example/oxfacelogin/MainActivity.java create mode 100644 app/src/main/java/com/ouxuan/oxface/MainActivity.java diff --git a/app/build.gradle b/app/build.gradle index edaffe9..a1338f7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -3,12 +3,12 @@ plugins { } android { - namespace 'com.example.oxfacelogin' + namespace 'com.ouxuan.oxface' compileSdk 35 buildToolsVersion "35.0.0" defaultConfig { - applicationId "com.example.oxfacelogin" + applicationId "com.ouxuan.oxface" minSdk 21 targetSdk 35 versionCode 1 diff --git a/app/src/main/java/com/example/oxfacelogin/MainActivity.java b/app/src/main/java/com/example/oxfacelogin/MainActivity.java deleted file mode 100644 index 1356a06..0000000 --- a/app/src/main/java/com/example/oxfacelogin/MainActivity.java +++ /dev/null @@ -1,135 +0,0 @@ -package com.example.oxfacelogin; - -import androidx.appcompat.app.AppCompatActivity; -import android.animation.ObjectAnimator; -import android.os.Bundle; -import android.view.MotionEvent; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; -import android.widget.Toast; - -public class MainActivity extends AppCompatActivity { - - private EditText editTextUsername; - private EditText editTextPassword; - private Button buttonLogin; - private Toast currentToast; // 用于管理Toast显示状态 - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - // 隐藏ActionBar以获得全屏效果 - if (getSupportActionBar() != null) { - getSupportActionBar().hide(); - } - - // 初始化视图组件 - initViews(); - - // 设置登录按钮点击事件 - setupLoginButton(); - - // 设置按钮触摸动画 - setupButtonAnimation(); - } - - private void initViews() { - editTextUsername = findViewById(R.id.editTextUsername); - editTextPassword = findViewById(R.id.editTextPassword); - buttonLogin = findViewById(R.id.buttonLogin); - } - - private void setupLoginButton() { - buttonLogin.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String username = editTextUsername.getText().toString().trim(); - String password = editTextPassword.getText().toString().trim(); - - if (validateInput(username, password)) { - performLogin(username, password); - } - } - }); - } - - private void setupButtonAnimation() { - buttonLogin.setOnTouchListener(new View.OnTouchListener() { - @Override - public boolean onTouch(View v, MotionEvent event) { - switch (event.getAction()) { - case MotionEvent.ACTION_DOWN: - // 按下时缩小 - ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(v, "scaleX", 0.95f); - ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(v, "scaleY", 0.95f); - scaleDownX.setDuration(100); - scaleDownY.setDuration(100); - scaleDownX.start(); - scaleDownY.start(); - break; - case MotionEvent.ACTION_UP: - case MotionEvent.ACTION_CANCEL: - // 释放时恢复 - ObjectAnimator scaleUpX = ObjectAnimator.ofFloat(v, "scaleX", 1.0f); - ObjectAnimator scaleUpY = ObjectAnimator.ofFloat(v, "scaleY", 1.0f); - scaleUpX.setDuration(100); - scaleUpY.setDuration(100); - scaleUpX.start(); - scaleUpY.start(); - break; - } - return false; // 返回false以确保onClick事件仍然被触发 - } - }); - } - - private boolean validateInput(String username, String password) { - if (username.isEmpty()) { - showToast("请输入用户名"); - editTextUsername.requestFocus(); - return false; - } - - if (password.isEmpty()) { - showToast("请输入密码"); - editTextPassword.requestFocus(); - return false; - } - - if (password.length() < 6) { - showToast("密码长度至少6位"); - editTextPassword.requestFocus(); - return false; - } - - return true; - } - - private void performLogin(String username, String password) { - // 这里可以添加实际的登录逻辑 - // 目前只是显示一个简单的提示 - if (username.equals("admin") && password.equals("123456")) { - showToast("登录成功!欢迎 " + username); - } else { - showToast("用户名或密码错误"); - } - } - - /** - * 显示Toast消息,确保只显示最新的消息 - * @param message 要显示的消息 - */ - private void showToast(String message) { - // 如果之前有Toast正在显示,先取消它 - if (currentToast != null) { - currentToast.cancel(); - } - - // 创建新的Toast并显示 - currentToast = Toast.makeText(this, message, Toast.LENGTH_SHORT); - currentToast.show(); - } -} \ No newline at end of file diff --git a/app/src/main/java/com/ouxuan/oxface/MainActivity.java b/app/src/main/java/com/ouxuan/oxface/MainActivity.java new file mode 100644 index 0000000..3dec854 --- /dev/null +++ b/app/src/main/java/com/ouxuan/oxface/MainActivity.java @@ -0,0 +1,135 @@ +package com.ouxuan.oxface; + +import androidx.appcompat.app.AppCompatActivity; +import android.animation.ObjectAnimator; +import android.os.Bundle; +import android.view.MotionEvent; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +public class MainActivity extends AppCompatActivity { + + private EditText editTextUsername; + private EditText editTextPassword; + private Button buttonLogin; + private Toast currentToast; // 用于管理Toast显示状态 + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + // 隐藏ActionBar以获得全屏效果 + if (getSupportActionBar() != null) { + getSupportActionBar().hide(); + } + + // 初始化视图组件 + initViews(); + + // 设置登录按钮点击事件 + setupLoginButton(); + + // 设置按钮触摸动画 + setupButtonAnimation(); + } + + private void initViews() { + editTextUsername = findViewById(R.id.editTextUsername); + editTextPassword = findViewById(R.id.editTextPassword); + buttonLogin = findViewById(R.id.buttonLogin); + } + + private void setupLoginButton() { + buttonLogin.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String username = editTextUsername.getText().toString().trim(); + String password = editTextPassword.getText().toString().trim(); + + if (validateInput(username, password)) { + performLogin(username, password); + } + } + }); + } + + private void setupButtonAnimation() { + buttonLogin.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + switch (event.getAction()) { + case MotionEvent.ACTION_DOWN: + // 按下时缩小 + ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(v, "scaleX", 0.95f); + ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(v, "scaleY", 0.95f); + scaleDownX.setDuration(100); + scaleDownY.setDuration(100); + scaleDownX.start(); + scaleDownY.start(); + break; + case MotionEvent.ACTION_UP: + case MotionEvent.ACTION_CANCEL: + // 释放时恢复 + ObjectAnimator scaleUpX = ObjectAnimator.ofFloat(v, "scaleX", 1.0f); + ObjectAnimator scaleUpY = ObjectAnimator.ofFloat(v, "scaleY", 1.0f); + scaleUpX.setDuration(100); + scaleUpY.setDuration(100); + scaleUpX.start(); + scaleUpY.start(); + break; + } + return false; // 返回false以确保onClick事件仍然被触发 + } + }); + } + + private boolean validateInput(String username, String password) { + if (username.isEmpty()) { + showToast("请输入用户名"); + editTextUsername.requestFocus(); + return false; + } + + if (password.isEmpty()) { + showToast("请输入密码"); + editTextPassword.requestFocus(); + return false; + } + + if (password.length() < 6) { + showToast("密码长度至少6位"); + editTextPassword.requestFocus(); + return false; + } + + return true; + } + + private void performLogin(String username, String password) { + // 这里可以添加实际的登录逻辑 + // 目前只是显示一个简单的提示 + if (username.equals("admin") && password.equals("123456")) { + showToast("登录成功!欢迎 " + username); + } else { + showToast("用户名或密码错误"); + } + } + + /** + * 显示Toast消息,确保只显示最新的消息 + * @param message 要显示的消息 + */ + private void showToast(String message) { + // 如果之前有Toast正在显示,先取消它 + if (currentToast != null) { + currentToast.cancel(); + } + + // 创建新的Toast并显示 + currentToast = Toast.makeText(this, message, Toast.LENGTH_SHORT); + currentToast.show(); + } +} \ No newline at end of file