我们在写项目的过程中都会遇到登录页面,很多新手都不会写登录页面的逻辑,今天给大家带来一个简单的登录页面
不废话直接上代码
第一步,布局:
在drawable文件下创建一个ed_background的一个xml文件用来画EdText的边框
在drawable文件下创建一个spinner_border的一个xml文件用来画Spinner的边框
在value下创建一个arrays,里面写我们的下拉菜单中中的内容
- 学员
- 教练
- 队医
- 领导
第二步通过我们通过布局中对控件给出的id,在Activiy中进行找控件,然后写逻辑
package com.example.androoid; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import java.util.regex.Pattern; public class LoginActivity extends AppCompatActivity { private Spinner sp_choose; private EditText ed_name; private EditText ed_passwprd; private CheckBox cbx_password; private TextView text_registered; private Button button_login; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); sp_choose = findViewById(R.id.sp_choose); ed_name = findViewById(R.id.ed_name); ed_passwprd = findViewById(R.id.ed_password); cbx_password = findViewById(R.id.cbx_password); text_registered = findViewById(R.id.text_registered); button_login = findViewById(R.id.button_login); } }
然后在onCreate中写一个initonckick()用来写我们的按钮逻辑完整代码如下
package com.example.androoid; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import java.util.regex.Pattern; public class LoginActivity extends AppCompatActivity { private Spinner sp_choose; private EditText ed_name; private EditText ed_passwprd; private CheckBox cbx_password; private TextView text_registered; private Button button_login; public static final String REGEX_USERNAME = "^[a-zA-Z0-9]{6,20}$"; public static final String REGEX_PASSWORD = ""^(?=.*?[a-z])(?=.*?[0-9])[a-zA-Z0-9_]{6,16}$""; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); sp_choose = findViewById(R.id.sp_choose); ed_name = findViewById(R.id.ed_name); ed_passwprd = findViewById(R.id.ed_password); cbx_password = findViewById(R.id.cbx_password); text_registered = findViewById(R.id.text_registered); button_login = findViewById(R.id.button_login); initonckick(); } public static boolean isUsername(String username) { return Pattern.matches(REGEX_USERNAME, username); } public static boolean isPassword(String password) { return Pattern.matches(REGEX_PASSWORD, password); } private void initonckick() { final String name = ed_name.getText().toString(); final String passwprd =ed_passwprd.getText().toString(); text_registered.setonClickListener(new View.onClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(LoginActivity.this, RegisteredActivity.class); startActivity(intent); } }); button_login.setonClickListener(new View.onClickListener() { @Override public void onClick(View v) { if (!isUsername(name) && !isPassword(passwprd)){ Toast.makeText(LoginActivity.this, "用户名或密码格式不对", Toast.LENGTH_SHORT).show(); }else { Intent intent = new Intent(LoginActivity.this, MainActivity.class); startActivity(intent); } } }); } }
这个就是一个简单的登录页面的逻辑
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)