前言

在平时的开发中,我们经常会用到一个控件,那就是EditText。为了方便用户输入,同时也提高用户体验。今天就介绍一款自定义输入框—— ClearEditText

此输入框自带删除按钮。还可在左侧添加图标。那么,下面就来具体学习吧。

今天涉及的内容:

ClearEditText 功能简介

ClearEditText在MainActivity中的使用

效果图和项目结构图

ClearEditText源码及使用的相关配置

先来波效果图

2.gif

一.ClearEditText 功能简介

ClearEditText是一款含删除按钮的输入框控件,用户使用时,能很方便的删除输入框中的内容。ClearEditText还能实现左侧含图标的展示效果。

下面来讲讲ClearEditText在MainActivity中的使用

二.ClearEditText在MainActivity中的使用

2.1 ClearEditText在布局中的引入

在 activity_main.xml 布局中引入ClearEditText,你可以像下面这样:

在布局开头声明自定义属性引用:

xmlns:clearEditText="http://schemas.android.com/apk/res-auto"

类似下面这样:

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

xmlns:clearEditText="http://schemas.android.com/apk/res-auto"

android:id="@+id/container_layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

tools:context=".MainActivity">

//其他代码省略

//......

在布局中引入控件,类似下面这样(注:ClearEditText路径以你实际项目路径为主):

android:id="@+id/edt_name"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginStart="30dp"

android:layout_marginTop="24dp"

android:layout_marginEnd="30dp"

android:background="#00000000"

android:drawablePadding="10dp"

android:hint="请输入联系人名称"

android:paddingTop="15dp"

android:paddingBottom="15dp"

android:singleLine="true"

android:textColor="#000000"

android:textColorHint="#aaaaaa"

android:textSize="14sp"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toBottomOf="@+id/tv"/>

2.2 ClearEditText几个重要属性的讲解

ClearEditText除了以上的一些基本设置外,还有几个重要属性的设置:

设置右侧删除按钮

//设置右侧删除按钮的图标

android:drawableRight="@drawable/ic_clear_edit_delete"

//设置右侧删除按钮的宽度

clearEditText:rightDrawable_width="15dp"

//设置右侧删除按钮的高度

clearEditText:rightDrawable_height="15dp"

以上属性可以不设置,默认图标是一个带"X"的圆形图标,宽高默认15dp

设置左侧图标

//设置输入框左侧图标,默认为null,即不设置

android:drawableLeft="@drawable/ic_clear_edit_delete"

//设置输入框左侧图标宽度,默认20dp,当有左侧图标时才设置

clearEditText:leftDrawable_width="20dp"

//设置输入框左侧图标高度,默认20dp,当有左侧图标时才设置

clearEditText:leftDrawable_height="20dp"

设置图标和文字间距

android:drawablePadding="10dp"

设置输入框光标颜色宽度

android:textCursorDrawable="@drawable/clear_edit_cursor"

clear_edit_cursor.xml代码如下:

不设置此属性的时候,输入框光标显示系统默认

2.3 在MainActivity中初始化及监听

初始化:

//声明控件

private ClearEditText mClearEditText;

//控件初始化

mClearEditText = findViewById(R.id.edt_name);

若要监听ClearEditText输入动作,你可以这样设置监听:

//监听输入的动作

mClearEditText.setOnEditerListener(new ClearEditText.OnEditerListener() {

@Override

public void afterTextChanged(View view, Editable s) {

//处理你的逻辑

//......

}

});

三.效果图和项目结构图

效果图

2.gif

项目结构图

image.png

四.ClearEditText源码及使用的相关配置

ClearEditText源码如下:

android文本框删除按钮,ClearEditText — 带删除按钮的输入框相关推荐

  1. android 文本框(textview)左右滑动

    实现android文本框的触摸左右滑动,不需要自定自定义什么的,直接textview就自带了,如下(以左右滑动为列子): 布局文件中定义(事实上这个布局里只配置maxLines 就可以了): < ...

  2. 按clear按钮清空两个文本框的内容,按copy按钮时将Source文本框的内容复制到Target文本框,按close按钮结束程序的运行

    按clear按钮清空两个文本框的内容,按copy按钮时将Source文本框的内容复制到Target文本框,按close按钮结束程序的运行 ` package p1; import java.awt.* ...

  3. Android文本框示例

    在Android中,您可以使用" EditText "类创建一个可编辑的文本框,以接受用户输入. 本教程向您展示如何在XML文件中创建文本框,并演示如何使用键侦听器来显示在文本框中 ...

  4. android 点击文本框,android 文本框部分文字的点击事件

    转载请标明出处. android文本框部分文字点击事件. String text1 = "这是个例子"; String text2 = "点击的文字"; Spa ...

  5. android文本框左右加减按钮长按一直加减

    为什么80%的码农都做不了架构师?>>>    来说说今天的战绩吧,说是战绩,是因为今天写代码时效率挺高,可能是因为集中精力吧,所以,如果要写好程序的话,最好满足以下两点:  1.写 ...

  6. ubuntu20.04使用chrome、搜狗输入法删除候选词内容时文本框的内容也会被删除

    1.设备信息 OS: Ubuntu 20.04.2 LTS x86_64 Kernel: 5.8.0-63-generic Shell: zsh 5.8 DE: GNOME CPU: Intel i5 ...

  7. Android文本框EditText显示为多行

    Android中文本框分单行和多行两种,但使用的是同一个控件:EditText . EditText控件默认显示为单行,如果要显示为多行,只需要加上一个属性即可: android:inputType= ...

  8. [Android]文本框实现搜索和清空效果

    前言 本文实现的效果:文本框输入为空时显示输入的图标:不为空时显示清空的图标,此时点击清空图标能清空文本框内输入文字. 声明 欢迎转载,但请保留文章原始出处:) 农民伯伯:http://over140 ...

  9. android文本框自动补全,[Android]AutoCompleteTextView自动补全文本框

    当我们在做项目的时候,往往有着这样的需求:(1)在登陆的时候,在输入的账号的过程中弹出补全账号的提示(2)在搜索的时候,在输入搜索词的过程中弹出补全搜索词的提示,就像: 而这时,AutoComplet ...

  10. android动态文本框,Android文本框实现搜索和清空效果

    本文实现的效果: 文本框输入为空时显示输入的图标:不为空时显示清空的图标,此时点击清空图标能清空文本框内输入文字. 实现效果: 核心代码: package com.example.test; impo ...

最新文章

  1. 结构体序列为JSON
  2. python爬虫挖掘平台搭建_一篇非常棒的安装Python及爬虫入门博文!
  3. MapReduce源代码浅析
  4. 介绍一种Web上打印技术
  5. 一套小学生的试卷。。。
  6. 机器学习--弹性网络(Elastic-Net Regression)
  7. Ubuntu 18安装谷歌浏览器
  8. opencv 物体形状匹配
  9. 面向对象高级编程(5)-使用元类
  10. .Net Core之MVC项目的简单应用
  11. AMiner发布2022 AI 2000人工智能最具影响力学者名单
  12. 免费高速的钉钉内网穿透——阿里出品必是精品(不限速,不限流量)
  13. 全球及中国淀粉行业研究及十四五规划分析报告
  14. 杂谈|程序员还是工程师
  15. 由ERP生产提前期的设定引发的思考
  16. 正则,异常、Collection、List集合
  17. 数据结构 :: 顺序栈与链式栈的设计与实现
  18. 软件测试如何编写计划文档
  19. php批量顺序上传,怎样用php 批量 上传
  20. 键盘怎么锁定计算机,电脑键盘锁住了怎么解锁 详细方法介绍

热门文章

  1. 剑指offer32-III.从上到下打印二叉树(蛇形打印)
  2. java全栈(java全栈开发工程师)
  3. uniapp 运行到手机或模拟器
  4. 未备案域名可以用吗?域名备案有什么好处?
  5. php502 html正常访问,php-fpm 正常启动,nginx也正常启动,但是为什么访问PHP是502
  6. 如何写数据分析岗位简历?看完瞬间秒懂
  7. 回波损耗、反射系数、电压驻波比以及S参数的物理意义
  8. 美团笔试题及解析(时间:2022年9月3号)
  9. 字节跳动8年经验,亲身经历教你如何从小白晋升月薪过万的测试工程师
  10. 静态代理和动态代理区别(是否有实现类)