目录

Android开源实战简单好用含历史搜索记录的智能搜索框

Android开源实战:简单好用、含历史搜索记录的智能搜索框

https://i-blog.csdnimg.cn/blog_migrate/85c3f224c850f19d1eac119c504d9f62.png

前言

Android 开发中,类似下图的搜索功能非常常见

https://i-blog.csdnimg.cn/blog_migrate/c2897a429be889d45088f85f09c785f8.png

今天,我将带来一款 封装了 历史搜索记录功能 & 样式Android 自定义搜索框 开源库,希望你们会喜欢。

https://i-blog.csdnimg.cn/blog_migrate/3cf948517dea21c1784a208d232e52bf.gif

已在 Github 开源: ,欢迎 Star


目录

https://i-blog.csdnimg.cn/blog_migrate/1b15c2ab4cd7f633078b3934d9749428.png


1. 简介

一款 封装了 历史搜索记录功能 & 样式Android 自定义搜索框

已在 Github 开源: ,欢迎 Star

https://i-blog.csdnimg.cn/blog_migrate/3cf948517dea21c1784a208d232e52bf.gif


2. 功能介绍

2.1 需求场景

  • 在开始coding前, 理解好用户的需求场景 有助于我们更好地设计 & 实现功能
  • 需求场景如下

https://i-blog.csdnimg.cn/blog_migrate/260743ea50dcf1c2dc7eaa4d737a8434.png

2.2 功能需求

  • 业务流程图

    根据场景,梳理出来的功能业务流程图如下:

https://i-blog.csdnimg.cn/blog_migrate/67ea2e4dd6ae4b2fa326f076f1c8fd83.png

  • 功能列表

    根据功能的业务流程图,得出功能需求如下

https://i-blog.csdnimg.cn/blog_migrate/a39be3442437e5ee0ad73af27894de3a.png

  • 功能原型

https://i-blog.csdnimg.cn/blog_migrate/04b4136ede9b1c6892807c1f7a97cfe8.png

2.3 功能示意

https://i-blog.csdnimg.cn/blog_migrate/3cf948517dea21c1784a208d232e52bf.gif


3. 特点

3.1 功能实用

  • 该搜索框开源库具备除了历史搜索记录功能外,还具备一般的搜索框功能(如一键清空搜索框内容等等)
  • 封装了 常见的搜索框样式 (如左侧图标、返回按键等等),使用起来更加方便

3.2 使用简单

仅需要简单的 xml 属性配置

下面1节会详细介绍其使用方法

3.3 二次开发成本低

  • 本项目已在 Github 上开源:
  • 具备详细的源码分析文档:

所以,在其上做二次开发 & 定制化成本非常低。


4. 具体使用

该款 使用非常简单,仅需2步:

步骤1:导入控件库

主要有 Gradle & Maven 2种方式:

  • 方式1: Gradle 引入依赖

    build.Gradle

dependencies {
    compile 'com.carson_ho:SearchLayout:1.0.1'
}
  • 方式2: Maven 引入依赖

    pom.xml

<dependency>
  <groupId>com.carson_ho</groupId>
  <artifactId>SearchLayout</artifactId>
  <version>1.0.1</version>
  <type>pom</type>
</dependency>

步骤2:设置搜索框样式

  • 具体属性设置

https://i-blog.csdnimg.cn/blog_migrate/ed0b215e436c90b4a70a71b412594cbd.png

  • 使用示例

    XML 文件中进行设置

    activity_main.xml

<scut.carson_ho.searchview.SearchView
        android:id="@+id/search_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:textSizeSearch="5dp"
        app:textColorSearch="#3F51B5"
        app:textHintSearch="输入查询关键字"
        app:searchBlockHeight="150"
        app:searchBlockColor="#ffffff"
        />

步骤3:设置点击搜索按键 & 返回按键后的操作

MainActivity.java

// 1. 初始化搜索框变量
    private SearchView searchView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        // 2. 绑定视图
        setContentView(R.layout.activity_search);

        // 3. 绑定组件
        searchView = (SearchView) findViewById(R.id.search_view);

        // 4. 设置点击搜索按键后的操作(通过回调接口)
        // 参数 = 搜索框输入的内容
        searchView.setOnClickSearch(new ICallBack() {
            @Override
            public void SearchAciton(String string) {
                System.out.println("我收到了" + string);
            }
        });
        
        // 5. 设置点击返回按键后的操作(通过回调接口)
        searchView.setOnClickBack(new bCallBack() {
            @Override
            public void BackAciton() {
                finish();
            }
        });
    }
}

5. 完整Demo地址

https://i-blog.csdnimg.cn/blog_migrate/3cf948517dea21c1784a208d232e52bf.gif


6. 源码解析

具体请看文章:


7. 贡献代码

  • 希望你们能和我一起完善这款简单 & 好用的 SearchView 控件,具体请看:
  • 关于该开源项目的意见 & 建议可在Issue上提出。欢迎 Star

8. 总结

  • 相信你一定会喜欢上 这款简单 & 好用的 SearchView 控件

已在 Github 上开源: ,欢迎 Star

  • Carson带你学Android开源库系列文章:


欢迎关注Carson_Ho的 与 公众号!

博客链接:https://carsonho.blog.csdn.net/

https://i-blog.csdnimg.cn/blog_migrate/eb35c83723da8b945ccc0fa8d279dc64.png


请帮顶 / 评论点赞!因为你的鼓励是我写作的最大动力!