Android BSearchEdit 搜索结果选择框
程序员文章站
2022-06-09 11:36:52
EditText搜索结果下拉框、自动or回调模式、可diy、使用超简便 (EditText search results drop-down box, auto or callback mode, diy, easy to use)#支持自动展示搜索条目 #支持手动展示搜索条目(可自己记录历史数据, ......
edittext搜索结果下拉框、自动or回调模式、可diy、使用超简便 (edittext search results drop-down box, auto or callback mode, diy, easy to use)
#支持自动展示搜索条目
#支持手动展示搜索条目(可自己记录历史数据,可等请求回调后弹出搜索条目)
#背景支持颜色,selector,图片等资源属性
github地址
(github排版比较好,建议进入这里查看详情,如果觉得好,点个star吧!)
引入module
allprojects { repositories { google() jcenter() maven { url 'https://www.jitpack.io' } } }
implementation 'com.github.yangsbryant:bsearchedit:1.0.4'
bsearchedit属性大全
方法名 | 属性 |
build() | 参数设置完毕,一定要build一下 |
settimely(boolean timely) | 是否自动展示搜索条目,默认true |
showpopup() | 手动弹出搜索条目,当settimely为true时失效 |
settextclicklistener(textclicklistener textclicklistener) | 点击监听器 |
settextwidth(int textwidth) | 设置文本宽度,单位dp |
settextheight(int textheight) | 设置文本高度,单位dp |
settextsize(int textsize) | 设置文本字体大小 |
settextcolor(int textcolor) | 设置文本颜色 |
setline_height(int line_height) | 设置线条高度,单位dp |
setline_width(int line_width) | 设置线条宽度,单位dp |
setisline(boolean isline) | 是否显示分割线 |
setpopup_bg(int popup_bg) | 设置窗体背景,可以是图片,颜色,selector等资源 |
关键代码
edittext edittext = findviewbyid(r.id.edit_text);//获取一个edittext bsearchedit = new bsearchedit(this,edittext,200);//第三个必须要设置窗体的宽度,单位dp bsearchedit.build(); //更新数据 bsearchedit.setsearchlist(list);
#tips:遇到is your activity running? 那是因为activity还未创建,showpopup()调用的太早了
演示代码
public class mainactivity extends appcompatactivity { private arraylist<string> list; private bsearchedit bsearchedit; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); list = new arraylist<>(); list.add("江西省赣州市"); list.add("广东省深圳市"); list.add("广东省珠海市"); edittext edittext = findviewbyid(r.id.edit_text); bsearchedit = new bsearchedit(this,edittext,200); bsearchedit.build(); bsearchedit.setsearchlist(list); bsearchedit.settextclicklistener(new bsearchedit.textclicklistener() { @override public void ontextclick(int position, string text) { toast.maketext(mainactivity.this,text,toast.length_short).show(); } }); button button01 = findviewbyid(r.id.button01); button01.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { list.clear(); list.add("小米 9pro"); list.add("华为 mate30"); list.add("vivo nex3"); list.add("iphone 11"); bsearchedit.setsearchlist(list); toast.maketext(mainactivity.this,"更新数据成功",toast.length_short).show(); } }); button button02 = findviewbyid(r.id.button02); button02.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { list.clear(); list.add("瑞士民众抵制5g"); list.add("威马汽车起火"); list.add("王者荣耀新英雄西施"); list.add("黄渤出演姜子牙"); list.add("北京天空飞机刷屏"); list.add("kimi名字由来"); bsearchedit.setsearchlist(list); toast.maketext(mainactivity.this,"更新数据成功",toast.length_short).show(); } }); } }
#演示代码工程里有