Android 解决Google搜索首页的文本框清空按钮问题
16lz
2021-01-23
问题现象:Android打开浏览器浏览Google搜索首页,在搜索文本框中输入要搜索的内容,这时文本框右侧会出现清空按钮小图标,如果用触摸点击该图标可以成功清空文本框中的内容,但是如果使用键盘左右键将焦点移动到该清空图标按钮上后再按手机上的确认键,会出现不能正常清空的效果。
问题分析:Android在实现这个功能的时候是使用的text.remove(),并不是使用的赋空值方法,所以,如果使用触摸点击的话点击完清空图标后焦点就不在这个文本框身上了,系统就能成功的remove掉这个文本框,再点击搜索框的话又会成功创建出来一个,从而实现了清空的效果,但是如果使用键盘点击的话焦点位于此文本框中,并不能成功remove掉当前的文本框,所以就出现了这种不能清空的问题。
解决方法:其实解决办法超级简单,之前我在解决这个问题的时候跟代码,一直跟到了c++层,后来居然跟丢了,而且就算实现效果也不好,后来终于找到了解决问题的关键点
1:打开WebView.java文件,WebView.java一共有四个,大家自己找一下,是extrnal/webkit/webkit/...../nav/WebView.java这个,中间的具体路径忘记了,找到clearTextEntry()方法,在mWebTextView.remove()之前加上一句mWebTextView.setText("");就行了,简单不?
问题分析:Android在实现这个功能的时候是使用的text.remove(),并不是使用的赋空值方法,所以,如果使用触摸点击的话点击完清空图标后焦点就不在这个文本框身上了,系统就能成功的remove掉这个文本框,再点击搜索框的话又会成功创建出来一个,从而实现了清空的效果,但是如果使用键盘点击的话焦点位于此文本框中,并不能成功remove掉当前的文本框,所以就出现了这种不能清空的问题。
解决方法:其实解决办法超级简单,之前我在解决这个问题的时候跟代码,一直跟到了c++层,后来居然跟丢了,而且就算实现效果也不好,后来终于找到了解决问题的关键点
1:打开WebView.java文件,WebView.java一共有四个,大家自己找一下,是extrnal/webkit/webkit/...../nav/WebView.java这个,中间的具体路径忘记了,找到clearTextEntry()方法,在mWebTextView.remove()之前加上一句mWebTextView.setText("");就行了,简单不?
更多相关文章
- 【转】Android -- 探究Android的多分辨率支持以及各种类型图标尺
- [Android] Android绘制文本基本概念之- top, bottom, ascent, de
- Android实现疯狂连连看游戏之游戏效果预览(一)
- Android中RatingBar的自定义效果
- Android实现多行文字的跑马灯效果(Realizing multiple lines of M
- Android动画效果 translate、scale、alpha、rotate 切换Acti...
- 为Android的界面设计增加跳跃效果
- Android\OPhone动画分析之翻转效果
- Android 实现自定义控件效果1