实现效果如下图所示

实现代码【部分】

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. Python生成30万条Excel 测试数据

    使用Python生成30万条Excel 测试数据 from openpyxl import Workbook from concurrent.futures import ThreadPoolExec ...

  2. SDP协议理解

    目录 SDP协议 协议格式说明 协议格式 常见属性 协议版本号 v= -- Protocol Version 会话发起者: o= -- Origin 会话名 s= 连接数据:c= 媒体描述:m= 附加 ...

  3. WPF使用TextBlock实现查找结果高亮显示

    在应用开发过程中,经常遇到这样的需求:通过关键字查找数据,把带有关键字的数据显示出来,同时在结果中高亮显示关键字.在web开发中,只需在关键字上加一层标签,然后设置标签样式就可以轻松实现. 在WPF中 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (87)-- 算法导论8.2 4题

    四.用go语言,设计一个算法,它能够对于任何给定的介于0到 k 之间的 n 个整数先进行预处理,然后在 O(1)时间内回答输入的 n个整数中有多少个落在区间[a..b]内.你设计的算法的预处理时间应为 ...

  5. 给你的模糊测试开开窍——定向灰盒模糊测试(Directed Greybox Fuzzing)综述

    ​ 本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 原论文:<The Progress, Cha ...

  6. 扩展ABP的Webhook功能,推送数据到第三方接口(企业微信群、钉钉群等)

    前言 在上一篇文章[基于ASP.NET ZERO,开发SaaS版供应链管理系统]中有提到对Webhook功能的扩展改造,本文详细介绍一下具体过程. Webhook功能操作说明,请参见此文档链接:Web ...

  7. 探索抽象同步队列 AQS

    by emanjusaka from https://www.emanjusaka.top/archives/8 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. 前言 AbstractQ ...

  8. 模块化打包工具-初识Webpack

    1. 为什么需要模块化打包工具 在上一篇文章中提到的ES Module可以帮助开发者更好地组织代码,完成js文件的模块化,基本解决了模块化的问题,但是实际开发中仅仅完成js文件的模块化是不够的,尤其是 ...

  9. 算法1:寻找完数(JS)

    任务一:寻找完数 打印10000以内的完数 完数:与自己所有因子之和相等的数. 1 let sum = 0, i, j; // 定义变量sum.i和j 2 3 for (i = 1; i < 1 ...

  10. 前端三件套系例之CSS——CSS3基础布局

    文章目录 css基础布局 1.布局相关的标签 2.盒子模型 2-1 什么是盒子模型 2-2 margin外边距 2-3 padding内填充 2-4 案例 3.浮动(float) 3-1 什么是浮动 ...