自定义带有删除功能的EditText

android 实现带清除效果的EditText(附带抖动效果) Android一直没有提供类似于ios中自带清除效果的输入框(ios只要只要添加属性即可实现),所以在Android当中 想要实现此效果就需要使用自定义控件的方式实现。 思路:可以使用一个Linearlayout里面横向布局一个EditText和一个删除的图片,监听输入框的焦点和文字变化,设置图片的显隐和点击清除事件。但是这么做些弊端,首先增加了UI布局的层级结构不利于UI结构的优化而且可能会出 阅读详情

实例:在登录,搜索等地方经常用到可以直接用

package com.android.myedittext;


import com.android.myedittext.R;

import android.content.Context;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.AttributeSet;
import android.util.Log;
import android.view.MotionEvent;
import android.widget.EditText;

public class EditTextWithDel extends EditText {
    private final static String TAG = "EditTextWithDel";
    private Drawable imgInable;
    private Drawable imgAble;
    private Context mContext;

    public EditTextWithDel(Context context) {
        super(context);
        mContext = context;
        init();
    }

    public EditTextWithDel(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        mContext = context;
        init();
    }

    public EditTextWithDel(Context context, AttributeSet attrs) {
        super(context, attrs);
        mContext = context;
        init();
    }

    private void init() {
        imgInable = mContext.getResources().getDrawable(R.drawable.delete_gray);
        imgAble = mContext.getResources().getDrawable(R.drawable.delete);
        addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {}
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
            @Override
            public void afterTextChanged(Editable s) {
                setDrawable();
            }
        });
        setDrawable();
    }

    //设置删除图片
    private void setDrawable() {
        if(length() < 1)
            setCompoundDrawablesWithIntrinsicBounds(null, null, imgInable, null);
        else
            setCompoundDrawablesWithIntrinsicBounds(null, null, imgAble, null);
    }

     // 处理删除事件
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) {
            int eventX = (int) event.getRawX();
            int eventY = (int) event.getRawY();
            Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY);
            Rect rect = new Rect();
            getGlobalVisibleRect(rect);
            rect.left = rect.right - 50;
            if(rect.contains(eventX, eventY)) 
                setText("");
        }
        return super.onTouchEvent(event);
    }

    @Override
    protected void finalize() throws Throwable {
        super.finalize();
    }

}
实现带有删除功能的自定义输入框 在点击事件中,我们判断点击的位置是否在清除按钮的范围内,并通过回调通知外部监听器。在上述代码中,我们通过findViewById获取ClearableEditText的实例,并设置了一个清除按钮点击的监听器。在监听器中,我们将输入框的文本内容设置为空字符串,实现了清除按钮的功能。至此,我们已经完成了带有删除功能的自定义输入框的实现。用户在输入文本中,如果需要清除输入的文本,只需点击输入框右侧的删除按钮即可。首先,我们需要创建一个继承自EditText的自定义视图类,用于显示带有删除按钮的输入框。 阅读详情

相关推荐

Android Edittext文本输入框输入文本时,弹出一个删除图标,清空内容.rar

Android Edittext文本输入框输入文本时,弹出一个删除图标,清空内容,代码只用到一个自定义的类,直接引用到xml文件中即可

Android自定义View——带删除功能的EditText

自定义EditText 自定义View练习,用Kotlin实现一个带删除功能的EditText。 实现代码: 自定义属性: 只有一个自定义属性,用于设置删除按钮的图标 <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="EditTextWithClear"> <attr name="clearIcon" format="reference"/

weixin_44902943的博客 477

植物叶绿体基因组分析全攻略:从共线性到密码子偏好性

本文全面解析植物叶绿体基因组分析流程,从共线性分析到密码子偏好性研究。详细介绍了叶绿体基因组结构特征、测序数据获取与质量控制、基因组组装与注释方法,以及比较基因组学和进化分析技术。特别关注IR区边界变异分析和选择压力评估,为植物系统发育研究和物种鉴定提供实用指南。

weixin_28475533的博客 221

Android实现一键清除输入内容和震动效果的EditText

        Android系统自带的EditText总的来说,功能相对简单,不能满足产品与UI的奇思妙想的功能(逃),所以我们势必要对输入框功能进行一定的拓展,这次我们来实现一键清除输入内容的功能,毕竟不能让用户一直按着删除键来删除吧(我觉着很有道理),以及输入内容有误时输入框震动功能(其实就是平移动画),不多说,上效果图和代码。     public class ClearWriteAndA...

二维的太阳系 的博客 795

PCB激光直接成像(LDI)设备技术解析与优化方案

激光直接成像(LDI)是PCB制造中的关键数字化工艺,通过激光束直接在基板上形成电路图案。其核心技术在于高精度光学系统与智能控制算法的结合,工作精度可达微米级。在HDI板、柔性电路等高端PCB制造中,LDI技术能显著提升线宽精度和层间对位准确性。当前行业面临材料适配性、热变形控制等挑战,动态能量补偿、多波长曝光等创新方案正在突破这些瓶颈。随着模块化设计、预测性维护等工程实践的普及,LDI设备综合效率持续提升,为5G、汽车电子等领域的精密电路生产提供关键技术支撑。

weixin_29168393的博客 391

AgentScope实战训练营:构建计划可视化管理和HITL的AI智能计划助手

本文基于AgentScope Java SDK和Spring Boot WebFlux,从零构建一个支持SSE流式对话、计划可视化管理和HITL的AI智能计划助手Web应用PlanNotebook。涵盖项目架构设计、ReActAgent初始化、自定义工具注册、Hook机制实现、SSE事件协议定义、前端流式渲染等核心技术点,提供完整可运行的代码示例和详细的REST API参考。

program哲学 398

ClearEditText 可以自己清楚的edittext

Android-EditText 自定义带删除功能的EditText 1.说明 自定义带删除功能的EditText有两种方法,第一种是用组合视图的方法,即在一个view视图里面左侧放置一个EditText,右侧放置一个ImageView,但是这样增加了视图的层次,而且对输入内容的长度要做一定的处理。 第二种是重新定义EditText组件,增加相

qwer4755552的博客 653

磁悬浮分子泵:起源、现状与未来趋势深度解析

摘要 磁悬浮分子泵作为高真空获取的关键设备,通过磁悬浮技术实现转子无接触高速运转,大幅提升了真空系统的性能和可靠性。本文系统梳理了分子泵从机械轴承到磁悬浮的技术演变历程,分析了当前行业格局及主要厂商产品特性,包括爱德华兹、普发真空等国际巨头的技术优势。研究进一步探讨了磁悬浮分子泵在半导体制造、科研设备等领域的核心应用,通过数学模型揭示了其性能参数关系。最后,展望了未来在智能化、节能化等方面的发展趋势,为相关领域的技术创新提供参考。 关键词:磁悬浮分子泵;高真空技术;半导体制造;科研设备;技术发展

技术工作者 690

android edittext清除功能,Android:带一键清除功能的EditText

作为一个前端应用开发者,下面这样的场景可以说是屡见不鲜了?20181218135459.png当然了,本文所要讲的重点不是如何做一个登录页面,而是输入框后面的那个清除按钮。你可能会说了,这有什么好讲的,在EditText后面加一个按钮就行了。没错,这样也可以实现想要的效果,但是如果一个页面有10个甚至更多的EditText,那就意味着你的布局会变得很臃肿,并且需要为每个EditText设置监听来控...

weixin_31699893的博客 1821

在YOLO中扩充新类别并且不影响旧类的识别精度

让我们先从简单的部分开始:用我们的新类训练自定义 YOLOv8 模型。在本教程中,我们将向模型添加车牌类。我们将使用Roboflow 中的一个数据集。这个数据集有两个车牌类。在开始训练之前,我们还必须对库进行一些更改。为了节省时间,我还将本教程中我们将进行的更改转换为补丁该补丁包含多项更改,但大多数更改都用于指南的下一部分。if RANK!= -1:是的,我们将编写一个回调。我们希望将此自定义训练模型的头部与 COCO 预训练模型中的旧头部一起使用。

如果想成为中心,那么就到中心去吧。 1225

使用 Python 爬取网易云音乐歌单数据(完整教程)

随着在线音乐平台的普及,网易云音乐(NetEase Cloud Music)凭借其个性化的推荐算法和丰富的用户互动,吸引了大量用户。网易云音乐的歌单中包含了丰富的音乐数据,包括歌曲名、歌手、专辑、播放量、评论数等信息。通过爬取这些数据,可以对音乐流行趋势进行分析,挖掘音乐推荐策略,甚至训练个性化推荐模型。网易云音乐的 API 并未官方开放,但开发者通过抓包和逆向分析,找到了若干可用接口。✅ 数据清洗与存储(CSV/数据库)✅ 网易云音乐 API 接口分析。✅ 网易云音乐接口解析。✅ 同步与异步爬取实现。

2201_76125261的博客 1372

自定义View之自定义EditText带删除内容按钮控件

自定义View之自定义EditText带删除内容按钮控件

橙如说的博客 1658

YOLO26改进 - 注意力机制 | MLLAttention (Mamba-Like Linear Attention) 类Mamba线性注意力:动态感受野适配多尺度目标

本文介绍了Mamba-Like Linear Attention (MLLA)模型及其在yolo26中的集成。MLLA结合了Mamba和线性注意力Transformer的优点,线性注意力降低计算复杂度,Mamba有效建模序列。该模型将Mamba的遗忘门和块设计等关键元素与线性注意力结合,还可用位置编码替代遗忘门。我们将MLLA引入yolo26,在检测头的不同尺度特征图上应用。实验表明,改进后的yolo26在目标检测任务中表现良好,体现了MLLA在提升模型性能上的有效性。

魔改工程师的博客 1150

自定义的带有删除功能EditText

解决某种情况下对输入的信息进行删除。可删除的输入框DeteleEditext。 <com.example.cmy.commonedittext.EditTextWithDelete android:id="@+id/login" style="?android:attr/textViewStyle" android:layout_width="match_parent

GL_MINE_优快云的博客 605

多径衰落信道的 MATLAB 仿真

在无线通信系统中,信号在传输过程中会经历多径传播现象,导致信号在接收端出现时域和频域上的扩展。通过以上示例代码,我们可以进行多径衰落信道的 MATLAB 仿真。同时,我们还可以通过调整信道参数和信号特性,进一步研究多径衰落对系统性能的影响。常用的模型之一是瑞利衰落信道模型,它假设信号在传输过程中受到多个散射路径的影响。除了瑞利衰落信道模型,我们还可以使用其他类型的信道模型,如高斯衰落信道模型。在上述代码中,我们首先定义了信道的参数,包括最大多普勒频移、多径延迟和多径功率衰落。函数来模拟高斯衰落信道。

TechCraze的博客 665

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用

自定义带有删除功能的edittext实例,在登录,搜索等地方经常用到可以直接用

不再想当菜鸟了 905

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android-EditText(自定义带删除功能的EditText)

Android-EditText 自定义带删除功能的EditText 1.说明 自定义带删除功能的EditText有两种方法,第一种是用组合视图的方法,即在一个view视图里面左侧放置一个EditText,右侧放置一个ImageView,但是这样增加了视图的层次,而且对输入内容的长度要做一定的处理。 第二种是重新定义EditText组件,增加相应的事件处理,即可达到很

xiaoganstar的专栏 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android 实现自定义自带删除按钮的EditText(带有搜索接口)

Android 实现自定义自带删除按钮的EditText(带有搜索接口) 一、效果图(略): 二、实现代码: MFCleanEditText.java package cn.zszh.customs.view; import android.content.Context; import android.graphics.Canvas; import android.grap

yangxun0727l的博客 1105

如何自定义一个带删除功能的EditText

其实早就想写一篇关于自定义控件的文章,可是总感觉没有什么可以下笔的,自定义控件其实并不麻烦,但是总想不出什么实用性比较强的控件。(其实是太难的我也不会,哈哈,不过不要在意这些细节)首先我们要知道,自定义控件分三种类型:1,继承已有的view,然后去重写 2,直接继承view,自己去draw 3,组合控件。今天我要讲的是如何自定义一个删除功能的EditText,很明显属于第一种类型,因为我要继承系统

implements 811

android自定义删除按钮样式,Android实现自定义带删除功能的EditText实例

1.说明自定义带删除功能的EditText有两种方法,第一种是用组合视图的方法,即在一个view视图里面左侧放置一个EditText,右侧放置一个ImageView,但是这样增加了视图的层次,而且对输入内容的长度要做一定的处理。第二种是重新定义EditText组件,增加相应的事件处理,即可达到很好的效果,效果图如下:2.ClearEditText的JAVA类文件/*** @说明: 自定义带删除按钮...

weixin_36307344的博客 501

带有删除按钮的EditText

描述虽然带有删除按钮的EditText不是太难写,但是为了记录自己学习过程,方便以后在项目中使用,写了此博客效果图实现步骤1.写一个类集成EditText,起名为ClearEditText,重写构造方法,每一个构造方法内init()初始化数据; public ClearEditText(Context context) { this(context, null); init(); }

qq_33408235的博客 975

Android输入框带删除按钮的自定义View

package com.aiitec.widgets; import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.drawable.BitmapDrawa

灵木111的博客 1333

Android中自定义带有删除按钮的输入框

自定义控件分为3种: 1、自绘控件。 2、组合控件。 3、继承控件。 本篇博客介绍的带有删除按钮的输入框就是用了第二种:组合控件(ImageView + EditText)。 1、布局文件layout_edittextwithdelete.xml的代码如下: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;RelativeLa...

lpCrazyBoy的博客 1929

自定义控件 带删除按钮的EditText

自定义控件:带删除按钮的EditText 一个带删除按钮的EditText.虽然比较简单,但还是记录一下. 自定义布局xml<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@

潇风寒月 681

自定义EditText轻松实现群聊@提及(@mention) #微博话题#等功能

开发聊天功能,需要在群聊中实现@xxx功能,网上没有找到现成的东西可以直接拿来用的,那就自己撸一个好了 项目地址 github.com/sunhapper/S… 用法说明 SpEditTool使用指南 欢迎star,提PR、issue ScreenShot 功能分析 可以插入@xxx这样的特殊字符串 需要有高亮等效果 特殊字符串作为一个整体,要一起删除,光标不能进入特殊字符串内部 特殊字符...

weixin_34376986的博客 744
上一篇: 自定义左边含有图片的EditText
下一篇: 监听自身APP被卸载
搬砖小先生
博客等级 码龄11年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值