原文地址:http://www.apkbus.com/blog-927916-77030.html
1. 简介
一款封装了 历史搜索记录功能 & 样式 的Android自定义搜索框
[]()
2. 功能介绍
2.1 需求场景
[]()
2.2 功能需求
- 功能列表
[]()
- 功能原型
[]()
2.3 功能示意
[]()
3. 特点
3.1 功能实用
- 该搜索框开源库具备除了历史搜索记录功能外,还具备一般的搜索框功能(如一键清空搜索框内容等等)
- 封装了 常见的搜索框样式(如左侧图标、返回按键等等),使用起来更加方便
3.2 使用简单
仅需要简单的xml属性配置
3.3 二次开发成本低
- 本项目已在 Github上开源:地址:SearchLayout
- 具备详细的源码分析文档:请看文章[Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)]
所以,在其上做二次开发 & 定制化成本非常低。
4. 具体使用
该款[SearchLayout]()使用非常简单,仅需2步:
步骤1:导入控件库
主要有 Gradle & Maven 2种方式:
- 方式1:Gradle引入依赖 build.Gradle
- dependencies {
- compile 'com.carson_ho:SearchLayout:1.0.1'
- }
- 方式2:Maven引入依赖 pom.xml
步骤2:设置搜索框样式
- 具体属性设置
[]()
- 使用示例 在XML文件中进行设置 activity_main.xml
- 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();
- }
- });
- }
- }
(https://github.com/Carson-Ho/Search_Layout#5-完整demo地址)5. 完整Demo地址
Carson_Ho的Github地址:SearchLayout
[