发布于2024-11-02 10:35 阅读(309) 评论(0) 点赞(26) 收藏(2)
制作一个简单登录页面
首先创建模板,这里选择Empty Activity(可根据自身需求来选择)
根据功能修改命名login(登录功能),打开菜单显示,我们可以找到主函数MainActivity和对应的布局函数activity_main
我们打开布局函数,可以根据要求设计布局,在design和Text界面切换界面视图和代码视图
代码如下,根据自己爱好可以设置高度、宽度、水平竖直布局、背景图片等等
LinearLayout:允许以水平或垂直的方式排列子视图(widgets),可以通过android:orientation
属性设置LinearLayout
的方向,horizontal
表示水平排列,vertical
表示垂直排列。通过给子视图设置android:layout_weight
属性,可以控制子视图在LinearLayout
中占据的空间比例。
TextView:用于显示文本的UI组件。通过android:text
属性设置TextView
显示的文本内容。可以通过android:textSize
、android:textColor
等属性设置文本的样式,如字体大小、颜色等。
EditText:一个允许用户输入文本的UI组件。通过android:inputType
属性,可以指定EditText
接受的输入类型,如数字、文本、密码等。android:hint
属性用于设置当EditText
为空时显示的提示文本。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp" android:background="@drawable/background1" tools:context=".MainActivity"> <TextView android:id="@+id/TV_title" android:layout_width="match_parent" android:layout_height="50dp" android:layout_marginTop="100dp" android:gravity="center" android:text="明空" android:textColor="#090808" android:textSize="18sp" /> <EditText android:id="@+id/ET_userName" android:layout_width="match_parent" android:layout_height="50dp" android:textSize="16sp" android:hint="用户名" android:textColor="#000000" android:maxLines="1" android:padding="5dp" android:background="@drawable/bg_username" android:layout_marginTop="30dp" /> <EditText android:id="@+id/ET_password" android:layout_width="match_parent" android:layout_height="50dp" android:textSize="16sp" android:textColor="#000000" android:hint="密码" android:maxLines="1" android:padding="5dp" android:inputType="textPassword" android:background="@drawable/bg_username" android:layout_marginTop="20dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="20dp" > <Button android:id="@+id/btn_login" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="登录" android:textColor="#000000" android:layout_gravity="center" android:background="@drawable/btn_left" /> <Button android:id="@+id/btn_register" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content" android:text="注册" android:textColor="#000000" android:layout_marginLeft="4dp" android:layout_gravity="center" android:background="@drawable/btn_right" /> </LinearLayout> </LinearLayout>
接下来我们来看一下布局中透明框的设置,为方便后期调用这里在drawable封装3个xml布局,分别是bg_username,btn_left,btn_right
<stroke>
元素定义了形状的边框,<corners>
元素定义了形状的边角如何被圆角化
bg_username
btn_left
btn_right
当然,这些颜色定义声明以及模板边框之类的都可以自由更改
values中colors,点击左边颜色框就可以更改选择其他颜色,为了方便起见,我们可以自定义一些常用的颜色,便于之后布局中使用
自定义常用颜色
点击values中styles.xml可以看到模板风格,如果你不想要上面自带的绿色显示,可以进入styles
将
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
更换为
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
实机演示登录界面如下:(颜色大小高度宽度等设置不同,显示有差异,可自行调整)
好的,到这里我们完美的设计了一个界面,那么如何实现他的登录功能呢,点击后如何调转
在布局函数中,我们设置了两个EditText和两个Button,所以我们首先要声明控件,让程序能够找到我们定义的控件,再给他增加点击功能。
直接实现点击跳转,我们为登录按钮增加点击功能,但是我们不仅仅要跳转,还要匹配正确的用户名,密码(可以自己设置,也可以注册存储利用数据库(此方法我们下篇介绍))
自定义用户名,密码:
public void onClick(View v){ String username = mEtUser.getText().toString(); String password = mEtPassword.getText().toString(); //弹出内容设置 String success = "登陆成功"; String fail = "账号或密码有误,请重新登录"; Intent intent = null; //假设正确账号密码 (***后面可用数据库连) if(username.equals("mk")&&password.equals("123456")){ showMsg(MainActivity.this,success); //如果正确,跳转 intent = new Intent(MainActivity.this,dataActivity.class); startActivity(intent); } else { showMsg(MainActivity.this,fail); } } public void showMsg(Context context, String msg) { if(mToast==null) { mToast = Toast.makeText(context,msg,Toast.LENGTH_SHORT); }else { mToast.setText(msg); } mToast.show(); }
跳转后界面为dataActivity,可根据自身要求按照上面主函数布局来设定跳转后界面布局
intent = new Intent(MainActivity.this,dataActivity.class);(这边跳转界面没有设置,所以是空白)
- package com.example.login;
-
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.Toast;
-
- import com.example.login.R;
-
- public class MainActivity extends AppCompatActivity implements View.OnClickListener {
-
- // 声明控件
- private Button mBtnLogin;
- private Button mBtnRegister;
- private EditText mEtUser; //用户
- private EditText mEtPassword; //密码
-
- // 弹窗
- private Toast mToast;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- // 找到控件
- mBtnLogin = findViewById(R.id.btn_login);
- mBtnRegister = findViewById(R.id.btn_register);
- mEtUser = findViewById(R.id.ET_userName);
- mEtPassword = findViewById(R.id.ET_password);
-
- // //实现直接跳转
- // mBtnLogin.setOnClickListener(new View.OnClickListener() {
- // @Override
- // public void onClick(View v) {
- // Intent intent = null;
- // intent = new Intent(MainActivity.this,dataActivity.class);
- // startActivity(intent);
- // }
- // });
-
- //匹配对应用户名和密码进行跳转登录
- mBtnLogin.setOnClickListener(this);
-
- }
-
- public void onClick(View v){
- String username = mEtUser.getText().toString();
- String password = mEtPassword.getText().toString();
- //弹出内容设置
- String success = "登陆成功";
- String fail = "账号或密码有误,请重新登录";
-
- Intent intent = null;
-
- //假设正确账号密码 ***后面可用数据库连
- if(username.equals("lyj")&&password.equals("123456")){
- showMsg(MainActivity.this,success);
-
- //如果正确,跳转
- intent = new Intent(MainActivity.this,dataActivity.class);
- startActivity(intent);
- }
- else {
- showMsg(MainActivity.this,fail);
- }
-
- }
- public void showMsg(Context context, String msg) {
- if(mToast==null) {
- mToast = Toast.makeText(context,msg,Toast.LENGTH_SHORT);
- }else {
- mToast.setText(msg);
- }
- mToast.show();
- }
-
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:padding="10dp"
- android:background="@drawable/background1"
- tools:context=".MainActivity">
-
-
- <TextView
- android:id="@+id/TV_title"
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:layout_marginTop="100dp"
- android:gravity="center"
- android:text="明空"
- android:textColor="#090808"
- android:textSize="18sp" />
-
- <EditText
- android:id="@+id/ET_userName"
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:textSize="16sp"
- android:hint="用户名"
- android:textColor="#000000"
- android:maxLines="1"
- android:padding="5dp"
- android:background="@drawable/bg_username"
- android:layout_marginTop="30dp"
- />
-
-
- <EditText
- android:id="@+id/ET_password"
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:textSize="16sp"
- android:textColor="#000000"
- android:hint="密码"
- android:maxLines="1"
- android:padding="5dp"
- android:inputType="textPassword"
- android:background="@drawable/bg_username"
- android:layout_marginTop="20dp"
- />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_marginTop="20dp"
- >
-
- <Button
- android:id="@+id/btn_login"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:text="登录"
- android:textColor="#000000"
- android:layout_gravity="center"
- android:background="@drawable/btn_left"
-
- />
-
- <Button
- android:id="@+id/btn_register"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:text="注册"
- android:textColor="#000000"
- android:layout_marginLeft="4dp"
- android:layout_gravity="center"
- android:background="@drawable/btn_right"
-
- />
-
-
- </LinearLayout>
-
-
- </LinearLayout>
三个透明框布局已经在上文中以图片形式给出,跳转后界面自己创建即可
(欢迎讨论,有错误地方请指出,博主也是接触不久小白一枚,感谢!)
作者:java战神
链接:http://www.javaheidong.com/blog/article/691582/937b454d04c297f5166d/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!