码迷,mamicode.com
首页 > 移动开发 > 详细

Android BSearchEdit 搜索结果选择框

时间:2019-10-11 12:48:37      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:table   repo   ips   ring   activity   close   array   华为   tom   

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

Github地址

YangsBryant/BSearchEdit

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

技术图片

 

引入module

allprojects {
    repositories {
        google()
        jcenter()
        maven { url ‘https://www.jitpack.io‘ }
    }
}

 

implementation ‘com.github.YangsBryant:BSearchEdit:1.0.4
 #支持自动展示搜索条目

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

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

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 搜索结果选择框

标签:table   repo   ips   ring   activity   close   array   华为   tom   

原文地址:https://www.cnblogs.com/94xiyang/p/11653117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!