• Android BSearchEdit 搜索结果选择框


    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中statusbar高度的问题
    int和short做循环计数器时的效率问题
    解决Rectangle Packing问题【原创】
    10个android开源项目(转)
    自动编译.9.png文件
    通过wifi调试android程序
    HBase 性能优化笔记
    [转载]定制CentOS 6.3 自动安装盘
    region split时metascan出现regioninfo为空
    Google Dremel 原理 如何能3秒分析1PB
  • 原文地址:https://www.cnblogs.com/94xiyang/p/11653117.html
Copyright © 2020-2023  润新知