Android BSearchEdit 搜索结果选择框
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();
}
});
}
}
#演示代码工程里有
Android BSearchEdit 搜索结果选择框的更多相关文章
- Android 自学之列表选择框Spinner
列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...
- android 弹出日期选择框
DatePickerDialog 在很多时候需要用户去设定时间,不可能让用户去在一个文本框中去输入时间,所以就需要有个日期弹出选择框,而这个框就是DatePickerDialog. 1.在API中的D ...
- Android WebView 实现文件选择、拍照、录制视频、录音
原文地址:Android WebView 实现文件选择.拍照.录制视频.录音 | Stars-One的杂货小窝 Android中的WebView如果不进行相应的设置,H5页面的上传按钮是无法触发And ...
- android浮动搜索框
android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法. 1.配置搜索的XML配置文件,新建文件searchable.xml,保存在res/xml ...
- Android——列表选择框(Spinner)
通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...
- Android Spinner列表选择框
Spinner Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源. 1.直接设置数组源 在res/values/strings.xml中设置数组源 ...
- Android较低版本(<5.2) 页面默认Select选择框效果的BUG解决
Bug描述: 使用低版本安卓(<5.2),在微信上打开网页,点击下拉框,会出现如下图所示的用来展示select选项的弹出框: 在选项较少的时候,可以向下滑动,将选项滑到底部 滑动前: 滑动后: ...
- Android 系统搜索框(有浏览记录)
实现Android 系统搜索框(有浏览记录),先看下效果: 一.配置搜索描述文件 要在res中的xml文件加创建sreachable.xml,内容如下: <?xml version=" ...
- Xamarin.Android 制作搜索框
前段时间仿QQ做了一个搜索框样式,个人认为还不错,留在这里给大家做个参考,希望能帮助到有需要的人. 首先上截图(图1:项目中的样式,图2:demo样式): 不多说直接上代码: Main.axml &l ...
随机推荐
- cropperjs实践及中文文档(自译)
cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器.(关键是使用方法简单,几行代码就可以搞定) 实践效果图 如图,可以对指 ...
- Java的 FileWriter类 和 FileReader类
一.FileReader类1,构造方法:FileReader fr = new FileReader(String fileName);//使用带有指定文件的String参数的构造方法.创建该输入流对 ...
- 安装Linux基本工具
yum install wget httpd-tools vim lrzsz Linux安装wget:yum -y install wget Linux安装vim编辑器:yum -y install ...
- mysql配置允许外界连接
1.在mysql的安装目录下找到mysql.ini 找到bind-address=127.0.0.1 ,(有的有,有的没有) 改为 bind-address = 0.0.0.0 2.登录mysql客户 ...
- CCNA 之 六 路由协议 二 EIGRP
EIGRP(Enhanced IGRP) 增强型内部网关路由协议 注意:这是cisco私有协议:也就是说,该协议只能运行在思科的设备上,如果有其他的厂家的设备,则不能保证能运行此协议: EIGRP的特 ...
- Zip压缩工具、tar打包、打包并压缩
第5周第2次课(4月17日) 课程内容: 6.5 zip压缩工具6.6 tar打包6.7 打包并压缩 6.5 zip压缩工具 Zip压缩工具最大的特点就是可以支持压缩目录,也能够压缩文件,Window ...
- 小白学 Python 爬虫(13):urllib 基础使用(三)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 【Python成长之路】词云图制作
[写在前面] 以前看到过一些大神制作的词云图 ,觉得效果很有意思.如果有朋友不了解词云图的效果,可以看下面的几张图(图片都是网上找到的): 网上找了找相关的软件,有些软件制作 还要付费.结果前几天在大 ...
- DevOps组织中应用架构师的新定位与实践
[摘要] 针对应用架构师相关窘境,在现代化的应用开发中,DevOps组织需要定义应用架构师职责,使应用架构师与DevOps团队各角色更有效的沟通,交付更有价值的产品.在多数情况下,应用架构师不是Dev ...
- C#DateTime格式转换全介绍
DateTime与字符串转换: DateTime()与转换为字符串主要依靠DateTime().ToString(string format) 函数,以我的理解,参数format大体分为单个字母和多个 ...