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

#支持自动展示搜索条目

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

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

Github地址

YangsBryant/BSearchEdit

(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();
}
});
}
}

#演示代码工程里有

Android BSearchEdit 搜索结果选择框的更多相关文章

  1. Android 自学之列表选择框Spinner

    列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...

  2. android 弹出日期选择框

    DatePickerDialog 在很多时候需要用户去设定时间,不可能让用户去在一个文本框中去输入时间,所以就需要有个日期弹出选择框,而这个框就是DatePickerDialog. 1.在API中的D ...

  3. Android WebView 实现文件选择、拍照、录制视频、录音

    原文地址:Android WebView 实现文件选择.拍照.录制视频.录音 | Stars-One的杂货小窝 Android中的WebView如果不进行相应的设置,H5页面的上传按钮是无法触发And ...

  4. android浮动搜索框

    android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法. 1.配置搜索的XML配置文件​,新建文件searchable.xml,保存在res/xml ...

  5. Android——列表选择框(Spinner)

    通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...

  6. Android Spinner列表选择框

    Spinner Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源. 1.直接设置数组源 在res/values/strings.xml中设置数组源 ...

  7. Android较低版本(<5.2) 页面默认Select选择框效果的BUG解决

    Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: ...

  8. Android 系统搜索框(有浏览记录)

    实现Android 系统搜索框(有浏览记录),先看下效果: 一.配置搜索描述文件  要在res中的xml文件加创建sreachable.xml,内容如下: <?xml version=" ...

  9. Xamarin.Android 制作搜索框

    前段时间仿QQ做了一个搜索框样式,个人认为还不错,留在这里给大家做个参考,希望能帮助到有需要的人. 首先上截图(图1:项目中的样式,图2:demo样式): 不多说直接上代码: Main.axml &l ...

随机推荐

  1. httpclient常规封装的方法

    <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compr ...

  2. Java并发编程:Callable、Future和FutureTask【转】

    原文链接:http://www.cnblogs.com/dolphin0520/p/3949310.html 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口. 这 ...

  3. HttpClient POST/SET方法

    前言: 网络API接口:https://api.apiopen.top/searchMusic 此API接口返回类型为JSON格式类型 GET:从指定资源请求数据 POST:向指定资源提交要被处理的数 ...

  4. P3954 成绩

    题目描述 牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是: 总成绩=作业成绩\times 20\%+×20%+小测成绩×30\%+×30%+期末考试成绩\times 50\%×50% 牛牛想 ...

  5. 一个缓存使用案例:Spring Cache VS Caffeine 原生 API

    最近在学习本地缓存发现,在 Spring 技术栈的开发中,既可以使用 Spring Cache 的注解形式操作缓存,也可用各种缓存方案的原生 API.那么是否 Spring 官方提供的就是最合适的方案 ...

  6. adb adb monkey命令及介绍

    1.adb的组成部分 守护进程,客户端,服务器端`      2.Monkey程序是Google公司提供的一个压力和稳定性测试的工具 3.命令 命令 参数 功能 adb version   查看当前a ...

  7. 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证

    随着Cloud2.0时代到来,5G技术开始应用普及,超算云服务需求不断升级,业务多样性.数据多样性不断延伸.2019年7月,华为召开鲲鹏计算产业发展峰会,依托在联接领域坚实的基础,华为未来将着力打造智 ...

  8. mysql 授权用户 主从和备份

    1.授权用户 mysql -uroot -p123qqq...A                     进入数据库 grant   all     on     *.*     to   dc@&q ...

  9. Seata AT 模式启动源码分析

    从上一篇文章「分布式事务中间件Seata的设计原理」讲了下 Seata AT 模式的一些设计原理,从中也知道了 AT 模式的三个角色(RM.TM.TC),接下来我会更新 Seata 源码分析系列文章. ...

  10. UESTC1961-咸鱼睡觉觉

    咸鱼睡觉觉 Time Limit: 1000 MS     Memory Limit: 64 MB Submit Status 咸鱼要睡觉觉了! 但那群咕咕有点烦. 咸鱼决定要赶走一些咕咕,使得他们不 ...