Android开发中的一个小功能 清空搜索框的文字

Android仿快播悬浮文字搜索框特效实战项目 当我们做完这一切:- 半透明悬浮面板随指尖滑动- 实时建议如影随形- 拖拽吸附顺滑自然- 数据来源无缝融合用户不会惊叹“哇这个搜索好厉害”,而是会觉得:“本来就应该这样啊。这正是优秀交互设计的最高境界——隐形的设计,显性的体验。当年的快播或许已成往事,但它留下的交互火种,仍在今天的无数 App 中悄然延续。而现在,轮到你拿起这根火把,照亮更多产品的用户体验之路了 🔥本文还有配套的精品资源,点击获取。 阅读详情

需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷

解决过程:开始的时候感觉这个东西不太好实现,主要就是布局的问题,可能是开始顾虑的太多了,再加上当时产品催的不太紧,而且这个功能也不是必须实现的。但是今天不一样了,这个是老大让加上的,说别的很多应用中都有这个功能,没办法那就加上呗,试着去使用了相对布局去实现,把一个删除按键放在编辑框的右上方,当文字的时候就把删除按键给显示出来,当编辑框为空的时候就把删除按键给隐藏掉。布局代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:paddingBottom="50dp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    
    <RelativeLayout android:id="@+id/top"
    	android:layout_width="fill_parent"
    	android:layout_alignParentTop="true"
    	android:paddingLeft="10dp"
    	android:paddingRight="10dp"
    	android:background="@drawable/top_background"
    	android:layout_height="wrap_content">
    	
        <Button android:id="@+id/btnSearch"
        	android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:gravity="center"
        	android:layout_centerVertical="true"
        	android:layout_alignParentRight="true"
        	android:textSize="12sp"
        	android:textStyle="bold"
        	android:background="@drawable/search_btn_background"
        	android:text="搜索"/>
        
        <RelativeLayout android:id="@+id/rlSearchFrameDelete"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
        	android:layout_centerVertical="true"
			android:gravity="center_vertical"
            android:layout_toLeftOf="@id/btnSearch">
            
		    	<EditText android:id="@+id/etSearch"
		        	android:layout_width="fill_parent"
		        	android:layout_height="wrap_content"
					android:singleLine="true"
		        	android:background="@drawable/search_frame"
		        	android:layout_marginRight="10dp"
		        	android:paddingLeft="32dp"
		        	android:textSize="12sp"
		        	android:hint="请输入文字..."/>
		    	
		    	<ImageView android:id="@+id/ivDeleteText"
		    	    android:layout_width="wrap_content"
		    	    android:layout_height="wrap_content"
		    	    android:layout_alignParentRight="true"
		    	    android:src="@drawable/delete"
		    	    android:layout_centerInParent="true"
		    	    android:paddingRight="20dp"
		    	    android:visibility="gone"/>
            
        </RelativeLayout>
        
    	
    </RelativeLayout>
    
</RelativeLayout>

这代码是直接从项目那截取过来的,里面用到了一些小技巧,开发的时候用到的布局写法,其中以一种背景平铺,这个在以前的文章里讲述过。在主程序里主要是使用了EditText监听输入的功能,这个以前的文章也写过,这次在使用又复习了一遍。代码如下

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ivDeleteText = (ImageView) findViewById(R.id.ivDeleteText);
        etSearch = (EditText) findViewById(R.id.etSearch);
        
        ivDeleteText.setOnClickListener(new OnClickListener() {
			
			public void onClick(View v) {
				etSearch.setText("");
			}
		});
        
        etSearch.addTextChangedListener(new TextWatcher() {
			
			public void onTextChanged(CharSequence s, int start, int before, int count) {
				// TODO Auto-generated method stub
				
			}
			
			public void beforeTextChanged(CharSequence s, int start, int count,
					int after) {
				// TODO Auto-generated method stub
				
			}
			
			public void afterTextChanged(Editable s) {
				if (s.length() == 0) {
					ivDeleteText.setVisibility(View.GONE);
				} else {
					ivDeleteText.setVisibility(View.VISIBLE);
				}
			}
		});

现在就可以实现开始描述的要求了。这里面还用到了一张背景图是.9.png的,能大能小哦 

Demo代码:http://download.youkuaiyun.com/detail/walker02/4532352



实现Android中的带清除功能的输入框 EditText组件是Android开发中最常用的输入控件之一,它允许用户输入文本,并提供了丰富的文本编辑功能。在本章中,我们将对EditText进行基础的介绍,包括它的主要属性、事件监听以及在实际应用中的基本使用场景。定义清除按钮通常在XML布局文件中完成,例如Android中:<EditTextandroid:hint="请输入文本"在这里,属性用于在EditText的末尾添加清除按钮图标。是图标资源的引用,开发者需要将实际图标文件放在项目的目录下。 阅读详情

相关推荐

删除输入框的文字

简单的一个Demo 实现删除文本框的文字,删除图片能够随着文字的显示而显示

移动自动化测试-Appium

移动自动化测试

xiaosongshi的博客 1383

ADBKeyBoard(完美解决ADB输入中文)

ADBKeyBoard(完美解决ADB输入中文) ADBKeyBoard(完美解决ADB输入中文) ADBKeyBoard(完美解决ADB输入中文)

【Android】常用ADB命令总结

命令 功能 shell input text 输入文本 shell rm 移除文件 shell rmdir 移除文件夹 shell pm clear 清除安装包数据和缓存 1. shell input text 因为移动设备在电脑上没法直接复制粘贴文字,而这种方式可以向移动设备中的文本框输入文字 adb shell input text https://nowcoa...

KEEP MOVING. 1333

Android开发之搜索框SearchView用法示例

本文实例讲述了Android开发之搜索框SearchView用法。分享给大家供大家参考,具体如下: 介绍: SearchView时搜索组件,可以让用户输入文字,见他输入匹配结果 效果: 基本的用法 我就不详细描述了 这里主要说一些我遇到的问题: 如下: 一、点击listView后 让文字自动补全到searchView上: 首先需要设置adapter 然后这只listView的点击事件: private final String[] mStrings = {我爱Java,安卓无敌,好好学习}; final ArrayAdapter adapter = new ArrayAdapt

避开这5个坑!Tushare金融数据获取与分析的常见错误排查指南

本文详细解析了使用Tushare进行金融数据获取与分析时常见的5个问题,包括Token失效、数据缺失、频率限制、数据一致性和性能瓶颈,并提供了实用的解决方案和优化策略。通过Python代码示例和最佳实践,帮助金融数据分析师和量化开发者高效避开这些陷阱,提升工作效率。

x2y3z4a5b的博客 1036

常用的 adb 命令

常用的 adb 命令

qq_39438055的博客 903

pcle接口详解&用途说明

它原来的名称为“3GIO”,由英特尔在2001年提出。pcel x16插槽 用途用于显卡、RAID阵列卡,向下兼容PCIE x1/x4/x8/x16。(PCIE x16插槽长89mm,有164根针脚,靠主板外侧端有一卡口,将16x分为前后两组,短插槽有22根针脚,主要用于供电,长插槽142根,主要用于数据传输,具有16通道所带来的高带宽)PCI-E x8插槽插槽用途:全长56mm,有98根针脚,与PCI-E x16比较,主要是数据针脚减少至76根,短的供电针脚仍然是22针脚。

qq_43289307的博客 1万+

appium输入和清除操作各方法对比(android)

最近在写android app自动化测试时,发现输入和清除操作耗费时间比较长,下面我用了不同的方法进行输入和清除操作,对比下时间(选取测试的一组数据做分析),选出最佳方法。 1、输入操作 1.1、webElement.sendKeys() 可以看到 该方法的输入时间在5s 左右 1.2、actions.sendKeys().perform() 该方法是使用Actions类的sendKeys方法,sendKeys前需要先webElement.click() 从结果可以看到该方法的输入时间..

测试步行人 1883

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 801

手把手教你调试RTL8201F:从芯片手册解读到LWIP驱动移植

本文详细解析了RTL8201F PHY芯片的开发流程,从寄存器配置到LWIP驱动移植,重点介绍了RMII模式下的特殊配置要点和调试技巧。通过实战案例和高级调试方法,帮助工程师解决网络性能问题,实现与FreeRTOS+LWIP协议栈的稳定集成。

ik678901234的博客 972

Android的文本怎么清空,Android中如何实现清空搜索框的文字

需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷解决过程:开始的时候感觉这个东西不太好实现,主要就是布局的问题,可能是开始顾虑的太多了,再加上当时产品催的不太紧,而且这个功能也不是必须实现的。但是今天不一样了,这个是老大让加上的,说别的很多应用中都有这个功能,没办法那就加上呗,试着去使用了相对布局去实现,把一个删除按键放在编辑框的右上方,当文字的时候...

weixin_35055546的博客 706

txt经纬度批量转面要素(附自定义ArcGIS工具箱方法)

当涉及大量txt坐标文件需要转换成面要素的时候,逐步操作工作量较大。本文由需求出发,以ArcGIS10.2为例,采用python脚本自定义ArcGIS工具,实现批量操作的目的。

m0_59216200的博客 1818

js实现仿京东搜索框

打开看到

weixin_44810919的博客 897

[3D检测系列-PV-RCNN] PV-RCNN实战指南:从论文解析到代码调试全流程

本文提供了PV-RCNN在3D目标检测领域的实战全流程指南。文章深入解析了其Point-Voxel融合的核心思想,并详细演示了从环境搭建、数据准备、代码复现到模型训练与调试的具体步骤,特别针对常见的报错问题给出了解决方案,帮助开发者高效掌握这一经典算法。

weixin_29189381的博客 480

【windows】【系统还原】亦是美kms执行一键关闭defender 之后,windows defender 被卸载了,无论如何都打不开

还是执行 都没有明显效果 那么,我最后是怎么解决得呢? 一、打开控制面板(任务栏搜索kzmb)

weixin_41899098的博客 6905

Android常用:手把手教你实现搜索框(含历史搜索记录)

<div class="bog_copyright"> <p class="copyright_p" >版权声明:本文为博主原创文章,未经博主允许不得转载,更多文章请继续关注Carson_Ho的博客!</p> </div> 前言 像下图的搜索功能在Android开发中非常常见今天我将手把手教大家如何实现具备历史搜索记录的搜索框 目录

l_blackeagle的博客 4772

使用 syncstart 实现同场景下多个音视频音轨自动化同步

如果需要在视频编辑中同步多个机位的音轨,使得相同的视频能够同时播放,手动操作可能会变得相当复杂。特别是当处理多个视频文件时,例如有10个视频需要互相匹配,实现一对多的同步关系,这就涉及到为每对视频生成匹配的音轨数据。手动完成这样的任务,如生成90套对应的音轨数据,不仅耗时而且容易出错。因此,使用脚本自动化这一过程是一个更为高效和准确的解决方案。通过编写脚本,您可以批量处理多个视频文件,自动同步它们的音轨,大大简化了音视频编辑的工作流程,并确保了同步的准确性。

Mr数据杨 1076

android开发删除小图标,Android 带删除图标的EditText清除功能小Demo

1.布局文件xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@...

weixin_35943493的博客 403

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android文本框代码,Android文本框搜索和清空效果实现代码及简要概述

前言本文实现的效果:文本框输入为空时显示输入的图标;不为空时显示清空的图标,此时点击清空图标能清空文本框内输入文字。正文一、实现效果二、实现代码绑定事件private Drawable mIconSearchDefault; // 搜索文本框默认图标private Drawable mIconSearchClear; // 搜索文本框清除文本内容图标@Overrideprotected void ...

weixin_30531679的博客 487

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android搜索框效果

转载:http://blog.youkuaiyun.com/walker02/article/details/7917392 需求:项目中的有关搜索的地方,加上清空文字的功能,目的是为了增加用户体验,使用户删除文本更加快捷 解决过程:开始的时候感觉这个东西不太好实现,主要就是布局的问题,可能是开始顾虑的太多了,再加上当时产品催的不太紧,而且这个功能也不是必须实现的。但是今天不一样了,这个是老大让加上的,说...

weixin_30807677的博客 102

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

上一篇: android 一种键盘不能调起的解决方法
下一篇: Android 开发中一种蛋疼的UI布局
Steffen02
博客等级 码龄16年 138粉丝 33原创
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值