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 ...
随机推荐
- 【浅析】|白话布隆过滤器BloomFilter
通过本文将了解到以下内容: 查找问题的一般思路 布隆过滤器的基本原理 布隆过滤器的典型应用 布隆过滤器的工程实现 场景说明: 本文阐述的场景均为普通单机服务器.并非分布式大数据平台,因为在大数据平台下 ...
- 02 JavaScript数据类型、类型转换、注释
JavaScript 数据类型 JavaScript 变量能够保存多种数据类型:数值.字符串值.数组.对象.undefined.null等等 var length = 7; // 数字 var las ...
- c 程序之 最大公约数 和 最小公倍数
1.最大公约数 30 10 -> 10 #include<stdio.h> /* 求最大公约数 辗转相减法 36 --16 4 */ int main(){ int a, ...
- TensorFlow2.0
安装开发环境 1.首先安装 anaconda(https://www.anaconda.com/) 2.修改anaconda的镜像源 conda config --add channels https ...
- 如何切换本地的GIT账号
如何切换本地的GIT账号 1.为什么登陆第一次Git之后,就不用登陆了呢? 因为电脑已经将你的登陆凭据给保存起来了. 这也正是你不知道如何切换账号的原因. 2.在哪里能看已经保存的登陆凭证呢?并能够切 ...
- 【跟唐老师学习云网络】 - 第7篇 Tcpdump大杀器抓包
[摘要] 前面章节的网络协议栈相关的信息建议大家多学习一遍,因为这些都是最基础的东西,想玩好云网络必备基本功.. 一.上帝视角 之前提到过定位问题可以开启上帝视角,那么如何开启就要依靠tcpdump这 ...
- 关于flask-sqlalchemy的用法研究
最近使用到flask的sqlalchemy,因为flask对sqlalchemy做了一些封装,加上自己本身对sqlalchemy也不熟悉,用法上走了很多弯路. 因为没时间去研究sqlalchemy的源 ...
- 实现一个简单的散列表(HashMap)
下面参考java.util.HashMap<K, V>,写了一个简单的散列表,只实现了其中的put和get方法,使用链接法"碰撞冲突".代码最后,自定义了一个Peopl ...
- react-native-splash-screen 隐藏statusbar
目录 android ios android android/app/src/main/java/项目名/MainActivity.java @Override protected void onCr ...
- react-native-linear-gradient颜色渐变
目录 一 安装 二 使用 2.1 colors 2.2 start / end eg1:斜角渐变 eg2: 从左到右 2.2 locations eg1: 0.4是渐变的起点,0.6是渐变的终点 一 ...