Android编程中文本框中搜索和清空效果实现

正文 一、实现效果 二、实现代码 监听
【菜科解读】
本文实现的效果:文本框输入为空时显示输入的图标;不为空时显示清空的图标,此时点击清空图标能清空文本框内输入文字。
正文
一、实现效果
二、实现代码
监听输入
/***动态搜索*/privateTextWatchertbxSearch_TextChanged=newTextWatcher(){//缓存上一次文本框内是否为空privatebooleanisnull=true;@OverridepublicvoidafterTextChanged(Editables){if(TextUtils.isEmpty(s)){if(!isnull){mSearchView.setCompoundDrawablesWithIntrinsicBounds(null,null,mIconSearchDefault,null);isnull=true;}}else{if(isnull){mSearchView.setCompoundDrawablesWithIntrinsicBounds(null,null,mIconSearchClear,null);isnull=false;}}}@OverridepublicvoidbeforeTextChanged(CharSequences,intstart,intcount,intafter){}/***随着文本框内容改变动态改变列表内容*/@OverridepublicvoidonTextChanged(CharSequences,intstart,intbefore,intcount){}};
触摸事件
privateOnTouchListenertxtSearch_OnTouch=newOnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){switch(event.getAction()){caseMotionEvent.ACTION_UP:intcurX=(int)event.getX();if(curX>v.getWidth()-38&&!TextUtils.isEmpty(mSearchView.getText())){mSearchView.setText("");intcacheInputType=mSearchView.getInputType();//backuptheinputtypemSearchView.setInputType(InputType.TYPE_NULL);//disablesoftinputmSearchView.onTouchEvent(event);//callnativehandlermSearchView.setInputType(cacheInputType);//restoreinputtypereturntrue;//consumetoucheven}break;}returnfalse;}};
绑定事件
privateDrawablemIconSearchDefault;//搜索文本框默认图标privateDrawablemIconSearchClear;//搜索文本框清除文本内容图标@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main)finalResourcesres=getResources();mIconSearchDefault=res.getDrawable(R.drawable.txt_search_default);mIconSearchClear=res.getDrawable(R.drawable.txt_search_clear);mSearchView=(EditText)findViewById(R.id.txtSearch);mSearchView.addTextChangedListener(tbxSearch_TextChanged);mSearchView.setOnTouchListener(txtSearch_OnTouch);}
代码说明: 1. 为输入框绑定触摸事件(模拟点击事件捕捉)。
通过监听点击区域判断是否点击清空图片,如果在该区域并且文本框不为空,则清空文本框。
2. 为输入框绑定文本改变事件监听,根据内容改变动态设置图标显示。
3. 维持清空操作后软键盘状态。
Android,编程,中,文本,框中,搜索,和,清空,效果,
中国近些年十大未解之谜大合集
中国十大未解之谜:长江两次断流 长江在历史上曾经出现过两次断流的现象分别是1342年和1954年,而长江两次断流又都无缘无故恢复,据说当时还淹死了不少人,至今都无法解释长江断流的原因。
中国十大未解之谜:四川南充百年清朝古尸 2005年在四川省南充市一处建筑工地挖到了清朝百年古尸,尸身被重布缠绕着,周围都是符纸、糯米等物体,当文物局来到现场不由分说直接把古尸烧了,四川南充百年清朝古尸一看就知道有古怪,菜科网,文物局的做法更是证明了什么。
中国十大未解之谜:营口坠龙事件 1934年辽宁营口发生坠龙事件,当时连降几十天的大雨之后人们在芦苇丛里面发现了一条巨龙已经奄奄一息,很多附近居民都来给巨龙浇水,第二次巨龙又再次出现不过已经是一条死尸了,营口坠龙事件在当时引起不小的轰动。
中国十大未解之谜:1993年香港广告灵异事件 曾经轰动一时的香港广九铁路广告事件是近代中国最为灵异的一个事件,当时参与拍摄的有7个小朋友,但在电视播放出来的时候却发现多了2个小朋友,一经曝出广告很快就禁播了,而诡异的画面已经传遍了香港各地甚至传到了大陆。
中国的51区昆仑山之谜 昆仑山隐藏惊人秘密
昆仑山又有昆仑虚、中国第一神山、、昆仑丘或玉山的别称,中国历史称昆仑山为中华龙脉之祖。
在神话传说中的西王母就住在昆仑山之中。
昆仑山有着山祖的显赫地位,也是中国第一座圣山。
这里有很多神话传说。
众所周知,嫦娥奔月、西游记、白蛇传说等都与昆仑山有关,昆仑山是中华民族神话传说的发祥地。
这里不仅被誉为神话的诞圣地,也被民间视为修仙圣地,更是传言昆仑山隐藏惊人秘密。
很多人想去昆仑山,却又非常的害怕,传说想要成仙就必须要去昆仑山,因为很多人在昆仑山上看见了神仙,但是后来因为一些事情,人们开始惧怕昆仑山。
在2006年一支女子登山队,去昆仑山探险,据说遇上了昆仑山冰封的真龙,有一个女生被昆仑山冰封的真龙攻击差点丧命,幸好由其他队员互相帮助才得以逃脱。
昆仑山冰封的真龙已经被封锁了,所以这件事情的详细情形已经没有了,但昆仑山自古就是华夏命门所在,西王母的传说在当地十分盛行,但大多数昆仑传说都比较正面,而且昆仑现发现真龙也不是一两次。
也有许多人说零六年真龙吃人照片是合成的,真龙根本就不存在,实际上这种说法也确实是很有道理的,毕竟只有一张照片,谁知道这是真龙还是什么别的,是有人直接用ps合成的也说不定,毕竟现在ps技术这么发达,想p出这种照片还是非常容易的。
后来这起事件被证明是真的,只不过吃人的不是龙,而是蝾螈类的动物,也没有杀害人,就只是咬了一口而已,被咬的人因为很痛,所以就想报复它,就将它捏造成真龙吃人事件,这种行为是非常幼稚的,让人感到非常的无聊,大家不用当真,当个玩笑听听就好。