【Android】学习day05|简单登陆页面的实现|监听代码
实现效果如下图所示


实现代码【部分】
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|简单登陆页面的实现|监听代码的更多相关文章
- android 学习随笔二十九(自定义监听 )
package com.itheima.momo.dialog; import com.itheima.momo.R; import android.app.AlertDialog; import a ...
- Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听
原文:Android TV开发中所有的遥控器按键监听及注意事项,新增home键监听 简单记录下android 盒子开发遥控器的监听 ,希望能帮到新入门的朋友们 不多说,直接贴代码 public cla ...
- Android开发之手势滑动(滑动手势监听)详解
Android开发之手势滑动(滑动手势监听)详解 在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListen ...
- 移动端H5页面惯性滑动监听
移动端H5页面惯性滑动监听 在移动端,当你快速滑动有滚动条的页面时,当你手指离开屏幕时,滚动条并不会立即停止,而是会随着"惯性"继续滑动一段距离. 在做项目的过程中,需要监听惯性滑 ...
- Android软键盘的隐藏显示、事件监听的代码
把开发过程中重要的一些内容片段做个珍藏,如下资料是关于Android软键盘的隐藏显示.事件监听的内容,应该是对小伙伴们有所用途. public class ResizeLayout extends L ...
- android CheckBox控件的定义及事件监听
http://www.beijibear.com/index.php?aid=336 android CheckBox控件的定义及事件监听,本例实现CheckBox控件的定义及点击事件的监听并显示结果 ...
- Android笔记-4-实现登陆页面并跳转和简单的注册页面
实现登陆页面并跳转和简单的注册页面 首先我们来看看布局的xml代码 login.xml <span style="font-family:Arial;font-size:18px; ...
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
使用$http.$location.$watch及双向数据绑定等实现简单的用户登陆验证,记录备忘: 1.$http模拟从后台获取json格式的数据: 2.$watch实时监控数据变化: 3.$loca ...
- Android的事件处理机制详解(二)-----基于监听的事件处理机制
基于监听的事件处理机制 前言: 我们开发的app更多的时候是需要与用户的交互----即对用户的操作进行响应 这就涉及到了android的事件处理机制; android给我们提供了两套功能强大的处理机制 ...
- Android输入控件EditText和软键盘监听
1. 跳转到新的页面自动软键盘显示情况: 在配置清单文件AndroidManifest.xml文件,对Activity的windowSoftInputMode属性进行设置. stateUnspecif ...
随机推荐
- nginx搭建静态文件下载服务器
配置文件大致内容 server { # 监听8001端口 listen 8001; server_name 192.168.0.2; # 指定使用utf8的编码 charset utf-8; # 内容 ...
- Ubuntu虚拟机安装以及在Ubuntu上安装pycharm
一.在VMware上安装Ubuntu操作系统 1.下载Ubuntu镜像文件 下载地址:清华大学开源软件镜像站 | Tsinghua Open Source Mirror 参考文章:Ubuntu系统下载 ...
- 产品代码都给你看了,可别再说不会DDD(四):代码工程结构
这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...
- 多重断言插件之pytest-assume的简单使用
背景: pytest-assume是Pytest框架的一个扩展,它允许在单个测试用例中多次断言.通常情况下,当一个断言失败时,测试会立即停止执行,而pytest-assume允许我 们继续执行剩余的断 ...
- git pull 强制覆盖本地代码
使用git pull更新本地代码,报以下错误: 解决办法如下. 1.备份本地代码 备份,可以考虑直接复制一份项目保存 2.远程覆盖本地 远程覆盖本地容易出现远程和本地冲突的情况 解决办法如下: //1 ...
- jQuery默认选中下拉框的某个值
$("#quaterSelect").val("0");//id为quaterSelect的下拉框默认选中value是0的option选项
- 图解Spark排序算子sortBy的核心源码
原创/朱季谦 一.案例说明 以前刚开始学习Spark的时候,在练习排序算子sortBy的时候,曾发现一个有趣的现象是,在使用排序算子sortBy后直接打印的话,发现打印的结果是乱序的,并没有出现完整排 ...
- Modbus转profinet网关连接1200PLC在博图组态与英威腾驱动器通讯程序案例
Modbus 转 profinet 网关连接 1200PLC 在博图组态与英威腾驱动器通讯程序案例 本案例给大家介绍由兴达易控 modbus 转 profinet 网关连接 1200PLC 在博图软件 ...
- heygen模型接口 简单使用 java版
HeyGen - AI Spokesperson Video Creator 官网地址 Create a video (heygen.com) api地址 简介: 公司最近对ai方面业务比较感兴趣了 ...
- Oracle-判断表上存在高水位线
表上高水位线:通常一个新建的表,1个8K的数据块存放100行记录,若表上经常插入删除操作,造成表的水位线很高.下面从发现高水位线的办法,及解决高水位的方法说起: 1.发现存在高水位线的表:查看字典表u ...