两种方式:
1.采用android系统自带的searchview
2.自定义searchview
分析一下自定义搜索框的结构和功能:
1. 搜索界面大致由三部分组成,如图:输入框+(自动补全)提示框+结果列表。
2. 提示框的数据与输入框输入的文本是实时联动的,而结果列表只有在每次进行搜索操作时才会更新数据
3. 输入框的UI应是动态的,即UI随着输入的文本的改变而改变,如:在未输入文本时,清除按钮这里写图片描述应该是隐藏的;只有当框中有文本时才会显示。
4. 软键盘也应该是动态的,如完成搜索时应自动隐藏。
5. 选择提示框的选项会自动补全输入框,且自动进行搜索
6. (external)有热门搜索推荐/记录搜索记录的功能——热门搜索推荐列表只在刚要进行搜索的时候弹出,即未输入文本时,可供用户选择。
根据mvp开发模式:
v----自定义searchView的布局文件search_layout,自定义searchView,搜索界面的布局文件main.xml
m-javabean,数据的程序查询,存储等操作。
p--自动补全的回调EditChangedListener,searchView的回调SearchViewListener
view--activity---initView,initData,getdatabase
当使用系统内置的searchview时,需要如下配置
sv.setIconifiedByDefault(false);
sv.setSubmitButtonEnabled(true);
sv.setQueryHint("查询");
通过反射修改样式
Field field = sv.getClass().getDeclaredField("mSubmitButton");
field.setAccessible(true);
ImageView iv = (ImageView) field.get(sv);
iv.setImageDrawable(this.getResources().getDrawable(
R.drawable.pointer));
添加回调接口,对数据进行查询,添加等操作。