实现效果如下图所示

实现代码【部分】

MainActivity.java

 1 package com.example.app02;
2
3 import androidx.appcompat.app.AppCompatActivity;
4
5 import android.annotation.SuppressLint;
6 import android.content.Intent;
7 import android.os.Bundle;
8 import android.view.View;
9 import android.widget.Button;
10
11 public class MainActivity extends AppCompatActivity {
12 //先声明空间
13 private Button mBtnTextView;
14 private Button mBtnButton;
15 private Button mBtnEditText;
16 @SuppressLint("MissingInflatedId")
17 @Override
18 protected void onCreate(Bundle savedInstanceState) {
19 super.onCreate(savedInstanceState);
20 setContentView(R.layout.activity_main);
21 mBtnTextView = findViewById(R.id.btn_textview);
22 mBtnTextView.setOnClickListener(new View.OnClickListener() {
23 @Override
24 public void onClick(View view) {
25 // 跳转到TextView演示界面
26 Intent intent = new Intent(MainActivity.this, TextViewActivity.class);
27 startActivity(intent);
28 }
29 });
30 mBtnButton= findViewById(R.id.btn_button);
31 mBtnButton.setOnClickListener(new View.OnClickListener() {
32 @Override
33 public void onClick(View view) {
34 // 跳转到Button演示界面
35 Intent intent=new Intent(MainActivity.this,ButtonActivity.class);
36 startActivity(intent);
37 }
38 });
39 mBtnEditText=findViewById(R.id.btn_edittext);
40 mBtnEditText.setOnClickListener(new View.OnClickListener() {
41 @Override
42 public void onClick(View view) {
43 // 跳转到EditView演示界面
44 Intent intent=new Intent(MainActivity.this,EditTextActivity.class);
45 startActivity(intent);
46 }
47 });
48 }
49 }

EditTextActivity.java

 1 package com.example.app02;
2
3 import androidx.appcompat.app.AppCompatActivity;
4
5 import android.os.Bundle;
6 import android.text.Editable;
7 import android.text.TextWatcher;
8 import android.util.Log;
9 import android.view.View;
10 import android.widget.Button;
11 import android.widget.EditText;
12 import android.widget.Toast;
13
14 public class EditTextActivity extends AppCompatActivity {
15 private Button mBtnLogin;
16 private EditText mEtUserName;
17
18 @Override
19 protected void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 setContentView(R.layout.activity_edit_text);
22 mBtnLogin=findViewById(R.id.btn_login);
23 mBtnLogin.setOnClickListener(new View.OnClickListener() {
24 @Override
25 public void onClick(View view) {
26 Toast.makeText(EditTextActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
27 }
28 });
29 mEtUserName=findViewById(R.id.et_1);
30 mEtUserName.addTextChangedListener(new TextWatcher() {
31 @Override
32 public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
33
34 }
35
36 @Override
37 public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
38 Log.d("edittext", charSequence.toString());
39
40 }
41
42 @Override
43 public void afterTextChanged(Editable editable) {
44
45 }
46 });
47 }
48 }

主要部分

activity_edit_text.xml

 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:padding="15dp">
6 <EditText
7 android:id="@+id/et_1"
8 android:layout_width="match_parent"
9 android:layout_height="50dp"
10 android:textSize="20sp"
11 android:textColor="#FF0000"
12 android:hint="用户名"
13 android:background="@drawable/bg_et1"
14 android:paddingLeft="10dp"
15 android:paddingRight="10dp"
16 android:drawableLeft="@drawable/username"
17 android:drawablePadding="5dp"
18 android:maxLines="1"
19 android:layout_marginTop="70dp"/>
20 <EditText
21 android:id="@+id/et_2"
22 android:layout_width="match_parent"
23 android:layout_height="50dp"
24 android:layout_below="@id/et_1"
25 android:textSize="20sp"
26 android:hint="密码"
27 android:inputType="textPassword"
28 android:textColor="#FF0000"
29 android:layout_marginTop="15dp"
30 android:background="@drawable/bg_et1"
31 android:paddingLeft="10dp"
32 android:paddingRight="10dp"
33 android:drawableLeft="@drawable/password"
34 android:drawablePadding="5dp"
35 android:maxLines="1"/>
36 <!--登录按钮-->
37 <Button
38 android:id="@+id/btn_login"
39 android:layout_width="match_parent"
40 android:layout_height="40dp"
41 android:layout_below="@id/et_2"
42 android:layout_marginTop="30dp"
43 android:background="@drawable/bg_btn4"
44 android:text="登录"
45 android:textColor="#fff"
46 android:textSize="20sp"/>
47 </RelativeLayout>

另外:可能会出现找到的图片尺寸不合适,这里直接使用画图工具改变尺寸大小就可以了!

【Android】学习day05|简单登陆页面的实现|监听代码的更多相关文章

  1. android 学习随笔二十九(自定义监听 )

    package com.itheima.momo.dialog; import com.itheima.momo.R; import android.app.AlertDialog; import a ...

  2. Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听

    原文:Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听 简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们 不多说,直接贴代码 public cla ...

  3. Android开发之手势滑动(滑动手势监听)详解

    Android开发之手势滑动(滑动手势监听)详解 在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListen ...

  4. 移动端H5页面惯性滑动监听

    移动端H5页面惯性滑动监听 在移动端,当你快速滑动有滚动条的页面时,当你手指离开屏幕时,滚动条并不会立即停止,而是会随着"惯性"继续滑动一段距离. 在做项目的过程中,需要监听惯性滑 ...

  5. Android软键盘的隐藏显示、事件监听的代码

    把开发过程中重要的一些内容片段做个珍藏,如下资料是关于Android软键盘的隐藏显示.事件监听的内容,应该是对小伙伴们有所用途. public class ResizeLayout extends L ...

  6. android CheckBox控件的定义及事件监听

    http://www.beijibear.com/index.php?aid=336 android CheckBox控件的定义及事件监听,本例实现CheckBox控件的定义及点击事件的监听并显示结果 ...

  7. Android笔记-4-实现登陆页面并跳转和简单的注册页面

    实现登陆页面并跳转和简单的注册页面   首先我们来看看布局的xml代码 login.xml <span style="font-family:Arial;font-size:18px; ...

  8. angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证

    使用$http.$location.$watch及双向数据绑定等实现简单的用户登陆验证,记录备忘: 1.$http模拟从后台获取json格式的数据: 2.$watch实时监控数据变化: 3.$loca ...

  9. Android的事件处理机制详解(二)-----基于监听的事件处理机制

    基于监听的事件处理机制 前言: 我们开发的app更多的时候是需要与用户的交互----即对用户的操作进行响应 这就涉及到了android的事件处理机制; android给我们提供了两套功能强大的处理机制 ...

  10. Android输入控件EditText和软键盘监听

    1. 跳转到新的页面自动软键盘显示情况: 在配置清单文件AndroidManifest.xml文件,对Activity的windowSoftInputMode属性进行设置. stateUnspecif ...

随机推荐

  1. 基于Linux的三种防火墙(IPtables、Firewall、UFW)

    学而不思则罔,思而不学则殆. 导航 IPtables Firewall UFW 对比总结 IPtables部分 1.IPtables 四表五链. 四表:filter.nat.raw.mangle. 五 ...

  2. Linux Ubuntu 安装Qt【安装完可以直接运行】

    1.安装 Qt: 第一步:到官网http://download.qt.io/archive/qt/下载 Qt 安装包,此处本人安装的是 qt-opensource-linux-x64-5.7.0.ru ...

  3. 3-MySQL基本数据类型介绍

    数据类型的介绍: 数据类型(data_type)是指系统中所允许的数据的类型.数据库中的每个列都应有适当的数据类型,用于限制或允许该列中存储的数据.例如,列中存储的为数字,则相应的数据类型应该为数值类 ...

  4. WebAssembly实践指南——C++和Rust通过wasmtime实现相互调用实例

    C++和Rust通过wasmtime实现相互调用实例 1 wasmtime介绍 wasmtime是一个可以运行WebAssembly代码的运行时环境. WebAssembly是一种可移植的二进制指令集 ...

  5. 「hackerrank - 101hack43」K-Inversion Permutations

    link. 原问题即:请你给出不同的序列 \(\{a_n\}\) 的数量,满足 \(0\leqslant a_i<i\),且 \(\sum a_i=k\). 那么写出 \({a_n}\) 的 o ...

  6. LUSH & LUXURIOUS

    明亮色系Punchy & Bright 明亮.有着强烈对比的颜色更引人注目. 这种大胆的色彩组合要谨慎地利用,所以在明亮色系中的调和色一般用中性色. 其中不同的色彩饱和度,表现出不同的氛围和意 ...

  7. 漏洞扫描与安全加固之Apache Axis组件

    一.Apache Axis组件高危漏洞自查及整改 Apache Axis组件存在由配置不当导致的远程代码执行风险. 1. 影响版本 Axis1 和Axis2各版本均受影响 2. 处置建议 1)禁用此服 ...

  8. 【matplotlib 实战】--百分比柱状图

    百分比堆叠式柱状图是一种特殊的柱状图,它的每根柱子是等长的,总额为100%.柱子内部被分割为多个部分,高度由该部分占总体的百分比决定. 百分比堆叠式柱状图不显示数据的"绝对数值", ...

  9. 可观测性数据收集集大成者 Vector 介绍

    如果企业提供 IT 在线服务,那么可观测性能力是必不可少的."可观测性" 这个词近来也越发火爆,不懂 "可观测性" 都不好意思出门了.但是可观测性能力的构建却着 ...

  10. Go 常用标准库之 fmt 介绍与基本使用

    Go 常用标准库之 fmt 介绍与基本使用 目录 Go 常用标准库之 fmt 介绍与基本使用 一.介绍 二.向外输出 2.1 Print 系列 2.2 Fprint 系列 2.3 Sprint 系列 ...