【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 ...
随机推荐
- [ansible]简介安装入门
简介 ansible是一种运维自动化工具,默认通过ssh协议管理机器.只需要在一台机器上安装好,就可以通过这台电脑管理一组远程的机器.而被管理的linux机器只要有python环境,就不需要额外安装a ...
- 《Pro Git》Git基础笔记
获取Git仓库 在已存在目录中初始化仓库 $ git init 该命令会创建一个名为.git的隐藏文件. 克隆现有的仓库 $ git clone <url> # 例如 git clone ...
- SpringBoot3集成Redis
目录 一.简介 二.工程搭建 1.工程结构 2.依赖管理 3.Redis配置 三.Redis用法 1.环境搭建 2.数据类型 3.加锁机制 四.Mybatis缓存 1.基础配置 2.自定义实现 五.参 ...
- [ABC212E] Safety Journey
2023-01-08 题目 题目传送门 翻译 翻译 难度&重要性(1~10):2 题目来源 AtCoder 题目算法 dp 解题思路 首先就想到暴力 dp,用三个循环枚举:\(1.\) 时间, ...
- Midjourney的一些学习心得:如何高效的图生图
注意本文没有什么长篇大论,全部是自己的学习心得. 心得体会:如何图生图 今天在一篇midjourney看到好图应该怎么抄. 相信经常会看到好图也想要的,但是要么抄不出感觉,要么抄过来把水印也抄了,这一 ...
- ctypes使用浅谈
什么是ctypes: ctypes 是 Python 的一个标准库,用于与 C 语言进行交互.它提供了一组工具和函数,可以方便地调用动态链接库(DLL)或共享对象(SO)中的 C 函数,并处理 C 数 ...
- 升级java11后,maven命令打包报错
一.问题 升级java11后,maven命令打包报错: mvn clean package -Dmaven.test.skip=true [ERROR] Failed to execute goal ...
- 关于MySQL获取自增ID的几种方法
1. Select Max(id) From Table; 通过取表字段最大值的方式来获取最近一次自增id 缺点: 这种方法在多人操作数据库的软件上不可靠, 举个例子, 你刚插入一条记录. 当你在查询 ...
- React仿大众点评外卖app
主要使用技术: react react-router4 redux: action.reducer.store管理数据 fetch: 进行数据交互 prismjs : 页面嵌入代码,高亮显示插件 bu ...
- QFluentWidgets: 基于 C++ Qt 的 Fluent Design 组件库
简介 QFluentWidgets 是一个基于 Qt 的 Fluent Designer 组件库,内置超过 150 个开箱即用的 Fluent Designer 组件,支持亮暗主题无缝切换和自定义主题 ...