Android利用EditText如何实现搜索框详解

 更新时间:2018年07月04日 10:06:05   作者:Super_North_W  
EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,下面这篇文章主要给大家介绍了关于Android利用EditText如何实现搜索框的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

EditText简介:

ED(EditText的简称)在开发中也是经常使用到的一个控件, 也是一个比较重要的组件,可以说它是用户跟应用进行数据传输的窗口,比如实现一个登陆界面, 需要用户输入账号和密码,然后我们开发者获取到用户输入的内容,提交给服务区进行判断再做相应的处理。

引言

新的app中有search的功能需要实现,就是一个输入框,输入文字后键盘出来搜索字样,然后点击搜索进行网络请求。之前掉坑里了,一直尝试用searchview来实现,但是自定义样式上实在是坑,最后发现其实EditText就可以实现,也是醉了。

SearchView的自定义样式

我还只实现了部分自定义,输入框那里底部的蓝色线条实在不知道怎么清除掉,有大神可以指教一下。

int search_mag_icon_id = sv_search.getContext().getResources().getIdentifier("android:id/search_mag_icon", null, null);
ImageView search_mag_icon = (ImageView)sv_search.findViewById(search_mag_icon_id);//获取搜索图标
search_mag_icon.setImageResource(R.drawable.search_icon);//将图标的资源换掉即可。

其实就是找到searchView的资源文件,并替换掉就可以了。

同理,close图标也可以替换,只要修改"android:id/search_mag_icon" 为"android:id/search_close_btn"即可。

文本框的字体颜色大小等: "android:id/search_src_text"

不要问我怎么知道的,searchview源码里写的呀。需要注意的是,修改文本框颜色和大小的时候,需要将view cast to textview或者edittext,源码的配置文件里面这个框就是一个view,强转一下即可。

EditText实现SearchView功能

前面searchview里面,如果要将键盘的换行改成搜索,是要修改imeOptions的属性即可,而Edittext的属性里其实是有这个的,所以在edittext的布局中添加imeOptions = “actionSearch” ,但是只添加这个属性是无法实现的。

 <EditText 
    android:inputType="text" 
    android:singleLine="true" 
    android:imeOptions="actionSearch" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" />

其他的基础属性可以任意添加,再运行app发现输入文字后,换行确实换成搜索了。前三个属性一个都不能少。这样的话,我们只要在添加一个搜索的点击事件即可了:

et_earch.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
@Override 
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {    
 if(actionId == EditorInfo.IME_ACTION_SEARCH){  
//如果actionId是搜索的id,则进行下一步的操作  
  doSomething() }  
 return false; }
});

实现其中的onEditorAction方法即可。

剩下和searchView还不一样的就是没有close的按钮,其实监听一下edittext的输入就可以了,后续我就没做了,addTextChangedListener应该能实现,思路是:如果edittext里面有问题,则显示close的button,如果没有文字,则gone掉布局里面的close button。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Android 用 camera2 API 自定义相机

    Android 用 camera2 API 自定义相机

    本文主要介绍了Android 用 camera2 API 自定义相机的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Android so库的热更新问题

    Android so库的热更新问题

    这篇文章主要介绍了Android so库的热更新问题的相关资料,需要的朋友可以参考下
    2017-11-11
  • Flutter学习之SliverList和SliverGird的使用详解

    Flutter学习之SliverList和SliverGird的使用详解

    Sliver的组件一般都用在CustomScrollView中,除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。本文就来聊聊SliverList和SliverGird的使用吧
    2023-02-02
  • Android组件之BroadcastReceiver广播接收者

    Android组件之BroadcastReceiver广播接收者

    这篇文章主要为大家介绍了Android组件之BroadcastReceiver广播接收者实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Studio 编译报错:compileSdkVersion ''android-24'' requires JDK 1.8 or later to compile.的解决办法

    Studio 编译报错:compileSdkVersion ''android-24'' requires JDK 1.

    今天小编就为大家分享一篇关于Studio编译报错:compileSdkVersion 'android-24' requires JDK 1.8 or later to compile.的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • flutter 微信聊天输入框功能实现

    flutter 微信聊天输入框功能实现

    这篇文章主要介绍了flutter 微信聊天输入框功能实现,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Android绘制平移动画的示例代码

    Android绘制平移动画的示例代码

    这篇文章主要展示的是利用Android绘制平移动画的示例代码,文中的实现步骤讲解详细,对我们学习Android有一定的帮助,感兴趣的可以试一试
    2022-01-01
  • Kotlin编程条件控制示例详解

    Kotlin编程条件控制示例详解

    这篇文章主要为大家介绍了Kotlin编程条件控制示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • android ocr——身份证识别的功能实现

    android ocr——身份证识别的功能实现

    本篇文章主要介绍了android ocr——身份证识别的功能实现,具有一定的参考价值,有需要的可以了解一下。
    2016-11-11
  • Android自定义View实现验证码

    Android自定义View实现验证码

    这篇文章主要为大家详细介绍了Android自定义View实现验证码的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论