经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
Android BSearchEdit 搜索结果选择框
来源:cnblogs  作者:YangBryant  时间:2019/10/12 9:04:43  对本文有异议

EditText搜索结果下拉框、自动or回调模式、可diy、使用超简便 (EditText search results drop-down box, auto or callback mode, diy, easy to use)

#支持自动展示搜索条目

#支持手动展示搜索条目(可自己记录历史数据,可等请求回调后弹出搜索条目)

#背景支持颜色,selector,图片等资源属性

Github地址

YangsBryant/BSearchEdit

(Github排版比较好,建议进入这里查看详情,如果觉得好,点个star吧)

 

引入module

  1. allprojects {
  2. repositories {
  3. google()
  4. jcenter()
  5. maven { url 'https://www.jitpack.io' }
  6. }
  7. }

 

  1. 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等资源

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

关键代码

  1. EditText editText = findViewById(R.id.edit_text);//获取一个EditText
  2. bSearchEdit = new BSearchEdit(this,editText,200);//第三个必须要设置窗体的宽度,单位dp
  3. bSearchEdit.build();
  4. //更新数据
  5. bSearchEdit.setSearchList(list);

#Tips:遇到is your activity running? 那是因为activity还未创建,showPopup()调用的太早了


演示代码

  1. public class MainActivity extends AppCompatActivity {
  2. private ArrayList<String> list;
  3. private BSearchEdit bSearchEdit;
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_main);
  8. list = new ArrayList<>();
  9. list.add("江西省赣州市");
  10. list.add("广东省深圳市");
  11. list.add("广东省珠海市");
  12. EditText editText = findViewById(R.id.edit_text);
  13. bSearchEdit = new BSearchEdit(this,editText,200);
  14. bSearchEdit.build();
  15. bSearchEdit.setSearchList(list);
  16. bSearchEdit.setTextClickListener(new BSearchEdit.TextClickListener() {
  17. @Override
  18. public void onTextClick(int position, String text) {
  19. Toast.makeText(MainActivity.this,text,Toast.LENGTH_SHORT).show();
  20. }
  21. });
  22. Button button01 = findViewById(R.id.button01);
  23. button01.setOnClickListener(new View.OnClickListener() {
  24. @Override
  25. public void onClick(View v) {
  26. list.clear();
  27. list.add("小米 9pro");
  28. list.add("华为 mate30");
  29. list.add("vivo nex3");
  30. list.add("iPhone 11");
  31. bSearchEdit.setSearchList(list);
  32. Toast.makeText(MainActivity.this,"更新数据成功",Toast.LENGTH_SHORT).show();
  33. }
  34. });
  35. Button button02 = findViewById(R.id.button02);
  36. button02.setOnClickListener(new View.OnClickListener() {
  37. @Override
  38. public void onClick(View v) {
  39. list.clear();
  40. list.add("瑞士民众抵制5G");
  41. list.add("威马汽车起火");
  42. list.add("王者荣耀新英雄西施");
  43. list.add("黄渤出演姜子牙");
  44. list.add("北京天空飞机刷屏");
  45. list.add("Kimi名字由来");
  46. bSearchEdit.setSearchList(list);
  47. Toast.makeText(MainActivity.this,"更新数据成功",Toast.LENGTH_SHORT).show();
  48. }
  49. });
  50. }
  51. }

#演示代码工程里有

原文链接:http://www.cnblogs.com/94xiyang/p/11653117.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号