目录

一、EditText简单介绍

二、EditText外观

1.隐藏EditTExt边框

2.自定义EditText边框

三、监听焦点变更事件


一、EditText简单介绍

编辑框 EditText 用来接收软件键盘输入的文字,例如用户名、密码、评价内容等,它是由文本视图派生而来的,除了TextView 已有的各种属性和方法,EditText还支持下列XML属性

1. maxLength: 指定文本允许输入的最大长度

2. textColorHint: 指定提示文本的颜色

3. hint:指定提示文本内容

4. inputType : 指定驶入的文本类型,输入类型的取值,若同时使用多种文本类型,则可使用竖线“|”把多种文本类型拼接起来。主要值如下:

输入类型 说明
text 文本
textPassWord 文本密码。显示时用圆点“.”代替
number 整型数
numberSigned 带符号的数字。允许在开头带符号“-”
numberDecimal 带小数点的数字
numberPassWord 数字密码。显示时用圆点“.”代替
datetime 时间日期格式,除了数字外,还允许输入横线、斜杠、空格、冒号
date 日期格式,除了数字外,还允许输入航线“-”和斜杠“/”
time 时间格式,除了数字外,还允许输入冒号“.”

二、EditText外观

一般情况下,EditText 形状如下

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="text"android:hint="请输入用户名" /><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="numberPassword"android:hint="请输入密码"/>
</LinearLayout>

1.隐藏EditTExt边框

如果我们想要隐藏边框的话,只需要在EditText属性中添加

android:background="@null"

2.自定义EditText边框

如果我们想要自定义EditText边框,例如当焦点选中边框变蓝,不选中边框为灰

第一步:

先创建两个drawable文件来显示EditText选中和一般两种情况的形状

shape_edti_focus.xml(自己给文件起的名称)

选中时Edittext边框的效果

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<!--    指定形状内部的填充颜色--><solid android:color="#fff"/><!--        指定形状轮廓粗细与颜色--><stroke android:width="1dp" android:color="#0000ff"/><!--    指定形状四个圆角的半径   --><corners android:radius="5dp"/><!--    指定形状四个方向的间距--><padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"/></shape>

shape_edit_normal.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><!--    指定形状内部的填充颜色--><solid android:color="#fff"/><!--        指定形状轮廓粗细与颜色--><stroke android:width="1dp" android:color="#aaa"/><!--    指定形状四个圆角的半径   --><corners android:radius="5dp"/><!--    指定形状四个方向的间距--><padding android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp"/>
</shape>

第二步:再创建一个文件把上面两个柔和到一起

edittext_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_focused="true" android:drawable="@drawable/shape_edit_focus"/><item android:drawable="@drawable/shape_edit_normal"/>
</selector>

第三步:在Edittext内background中引用  edittext_selector.xml

效果如下:

三、监听焦点变更事件

如果我们想做一个校验的工作,例如手机号码未输满11位,就点击密码框,此时校验不通过,一般弹出提示文字,一遍把焦点拉回手机框

第一步:先写布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><EditTextandroid:id="@+id/et_phone"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="number"android:maxLength="11"android:hint="请输入11位手机号码" /><EditTextandroid:id="@+id/et_password"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="numberPassword"android:maxLength="6"android:hint="请输入输入6位密码"/></LinearLayout>

第二步:创建监听事件

注意:监听事件要给et_password设置

package com.example.signin;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;public class activity_edit extends AppCompatActivity implements View.OnFocusChangeListener {EditText et_phone;EditText et_password;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_edit);et_phone =  findViewById(R.id.et_phone);et_password =  findViewById(R.id.et_password);//设置监听et_password.setOnFocusChangeListener(this);}@Overridepublic void onFocusChange(View v, boolean b) {if(hasWindowFocus()){String phone = et_phone.getText().toString();if(TextUtils.isEmpty(phone) || phone.length() < 11){// 手机号码编辑框请求焦点,也就是把光标移回手机号码编辑et_phone.requestFocus();Toast.makeText(this,"请输入11位手机号码",Toast.LENGTH_SHORT).show();}}}
}

文本输入编辑框 EditText相关推荐

  1. QT combox的使用示例(输入后捕捉enter键,以及输入编辑框如何加输入限制(正则表达式))

    QComboBox 是下拉列表框组件类,它提供一个下拉列表供用户选择,也可以直接当作一个 QLineEdit 用作输入.QComboBox 除了显示可见下拉列表外,每个项(item,或称列表项)还可以 ...

  2. WEB自动化_告警框处理(对话框、确认框、提示框、输入/编辑框、勾选框、单选框、复选框、下拉框)

    WEB自动化_下拉框选择(通过元素的value属性选择.下标选择.文本选择) 1. 获取(对话框.确认框.提示框)对象 al = driver.switch_to.alert点击ok 获取文本 点击c ...

  3. Android开发笔记(一百三十八)文本输入布局TextInputLayout

    文本输入布局TextInputLayout TextInputLayout是MaterialDesign库中对编辑框EditText进行增强的一个控件.众所周知,EditText未输入字符时,我们可以 ...

  4. Android编辑框不能输入汉字,Android编程中EditText限制文字输入的方法

    本文实例讲述了Android编程中EditText限制文字输入的方法.分享给大家供大家参考,具体如下: Android的编辑框控件EditText在平常编程时会经常用到,有时候会对编辑框增加某些限制, ...

  5. Android Studio基础输入文本框EditText

    Android Studio基础输入文本框EditText 接续上一节<Android Studio 基础按钮使用> 1.提示文本框.输入文本框,在布局xml编写 <EditText ...

  6. MFC_2.2 编辑框和文本控件

    编辑框和文本控件 1.拖控件 2.绑定变量.用户名密码编辑框控件类型.取名字.用户协议用值类型,默认CString. 设置属性.用户类型.选择mustiline TRUE. AOTO HScroll ...

  7. qt 绘制消息框_Qt显示带文本输入的消息框

    是否有任何简单而干净的方式来显示Qt4中的消息框(实际上是PyQt4),支持文本输入,而不仅仅是从预定义列表中选择一个按钮?我可以(也有部分)通过编写一个自定义类来完成这个任务,只是为了显示这样的对话 ...

  8. 点击编辑框全选内容java,js实现鼠标点击文本框自动选中内容的方法

    本文实例讲述了js实现鼠标点击文本框自动选中内容的方法.分享给大家供大家参考.具体如下: 这里使用JS实现鼠标点击时自动选中文本框文本的效果,相信许多朋友都遇到这种功能的,就是当我们点击文本框的时候, ...

  9. java小应用程序没有输入法_java swing的编辑框如果用智能ABC输入法输入中文会整个应用程序崩掉 | 学步园...

    java swing的编辑框如果用智能ABC输入法输入中文会整个应用程序崩掉 然后后台出现: # An unexpected error has been detected by Java Runti ...

最新文章

  1. python【数据结构与算法】从一个例子引入动态规划❤️
  2. Unity3d 简单的小球沿贝塞尔曲线运动(适合场景漫游使用)
  3. java 中while编译之后_从APK反编译的Java-while循环什么也不做
  4. python 打包 太大 精简_极简 Python 打包指南
  5. 3、Docker 基础安装和基础使用 二
  6. cmdpython命令大全_Python命令 python使用cmd命令
  7. 前Facebook面试官告诉你如何才能顺利通过编程面试
  8. 什么是抽象类?抽象类的作用_Java面试题amp;和amp;amp;的作用和区别
  9. Quill – 可以灵活自定义的开源的富文本编辑器
  10. matconvnet在MATLAB2013配置过程中遇到的问题
  11. crossdomain.xml跨越
  12. shellshock漏洞回顾
  13. 安装VMware15.5+安装win10虚拟机操作系统(非常详细)
  14. 最新Permute 3 mac(万能音视频转换器)v3.9.6
  15. python计算ln与log,python计算以e为底的对数
  16. java 无理数_《数学分析原理》笔记之——无理数的引入
  17. Python-15 函数:我的地盘听我的
  18. IAR程序下载起始地址以及加入BOOTLOAD
  19. atlsd.lib 和 atls.lib冲突
  20. Django rest framework之限流Throttling、内置过滤功能及第三方过滤功能及分页Pagination

热门文章

  1. MTK平台adb固定cpu频率及核数
  2. (Java入门)面向对象思想模拟坦克开炮,加速,减速行为
  3. 周鸿祎谈程序员35岁就会被淘汰:越老越吃香
  4. 手把手教你用站长工具综查询网站域名在各个平台的权重情况 站长工具综查询
  5. 超简单使用html定义一个红色小圆点
  6. 大专找不到计算机工作吗,大专毕业就没工作?
  7. 一个大专毕业生毕业3个月后的个人感想及总结
  8. php 随机数抽奖代码,php 抽奖概率 随机数 Web程序 - 贪吃蛇学院-专业IT技术平台...
  9. 【2019-总结】初中毕业暑假集训No.6
  10. HTML5期末大作业:我的家乡四川成都网站设计(学生网页设计作业源码)