前言
-
Android
开发中,类似下图的搜索功能非常常见
- 今天,我将带来一款 封装了 历史搜索记录功能 & 样式 的
Android
自定义搜索框 开源库,希望你们会喜欢。
已在
Github
开源:地址:SearchView,欢迎Star
!
目录
1. 简介
一款封装了 历史搜索记录功能 & 样式 的Android
自定义搜索框
已在
Github
开源:地址:SearchView,欢迎Star
!
2. 功能介绍
2.1 需求场景
- 在开始coding前, 理解好用户的需求场景 有助于我们更好地设计 & 实现功能
- 需求场景如下
2.2 功能需求
- 业务流程图
根据场景,梳理出来的功能业务流程图如下:
- 功能列表
根据功能的业务流程图,得出功能需求如下
- 功能原型
2.3 功能示意
3. 特点
3.1 功能实用
- 该搜索框开源库具备除了历史搜索记录功能外,还具备一般的搜索框功能(如一键清空搜索框内容等等)
- 封装了 常见的搜索框样式(如左侧图标、返回按键等等),使用起来更加方便
3.2 使用简单
仅需要简单的xml
属性配置
下面1节会详细介绍其使用方法
3.3 二次开发成本低
- 本项目已在
Github
上开源:地址:SearchView - 具备详细的源码分析文档:Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)
所以,在其上做二次开发 & 定制化成本非常低。
4. 具体使用
该款SearchView使用非常简单,仅需3步:
步骤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:设置搜索框样式
- 具体属性设置
- 使用示例
在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地址
6. 源码解析
具体请看文章:Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)
7. 贡献代码
- 希望你们能和我一起完善这款简单 & 好用的
SearchView
控件,具体请看:贡献说明 - 关于该开源项目的意见 & 建议可在Issue上提出。欢迎
Star
!
8. 总结
- 相信你一定会喜欢上 这款简单 & 好用的
SearchView
控件
已在
Github
上开源:SearchView,欢迎Star
!
- Carson带你学Android开源库系列文章:
Carson带你学Android:主流开源图片加载库对比(UIL、Picasso、Glide、Fresco)
Carson带你学Android:主流开源网络请求库对比(Volley、OkHttp、Retrofit)
Carson带你学Android:网络请求库Retrofit使用教程
Carson带你学Android:网络请求库Retrofit源码分析
Carson带你学Android:图片加载库Glide使用教程
Carson带你学Android:图片加载库Glide源码分析
Carson带你学Android:V-Layout,淘宝、天猫都在用的UI框架,赶紧用起来吧!
欢迎关注Carson_Ho的简书
不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度。