Chinaunix首页 | 论坛 | 博客
  • 博客访问: 144530
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 547
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-01 08:57
个人简介

一个人的生活 新奇视 新感觉 www.x74.cn

文章分类

全部博文(47)

文章存档

2018年(20)

2017年(25)

2015年(1)

2014年(1)

我的朋友

分类: Android平台

2018-02-07 17:11:49

示意图

原文地址:http://www.apkbus.com/blog-927916-77030.html

1. 简介

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

已在Github开源:,欢迎 Star !

[示意图]()

2. 功能介绍

2.1 需求场景

[示意图]()

2.2 功能需求

  • 功能列表

[示意图]()

  • 功能原型

[示意图]()

2.3 功能示意

[示意图]()

3. 特点

3.1 功能实用

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

3.2 使用简单

仅需要简单的xml属性配置

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

3.3 二次开发成本低

  • 本项目已在 Github上开源:
  • 具备详细的源码分析文档:请看文章[Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)]

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

4. 具体使用

该款[SearchLayout]()使用非常简单,仅需2步:

步骤1:导入控件库

主要有 Gradle & Maven 2种方式:

  • 方式1:Gradle引入依赖 build.Gradle
  1. dependencies {
  2. compile 'com.carson_ho:SearchLayout:1.0.1'
  3. }
  • 方式2:Maven引入依赖 pom.xml
  1. com.carson_ho
  2. SearchLayout
  3. 1.0.1
  4. pom

步骤2:设置搜索框样式

  • 具体属性设置

[示意图]()

  • 使用示例 在XML文件中进行设置 activity_main.xml
  1. android:id="@+id/search_view"
  2. android:layout_width="match_parent"
  3. android:layout_height="wrap_content"
  4. app:textSizeSearch="5dp"
  5. app:textColorSearch="#3F51B5"
  6. app:textHintSearch="输入查询关键字"
  7. app:searchBlockHeight="150"
  8. app:searchBlockColor="#ffffff"
  9. />

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

MainActivity.java

  1. // 1. 初始化搜索框变量
  2. private SearchView searchView;
  3. @Override
  4. protected void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. // 2. 绑定视图
  7. setContentView(R.layout.activity_search);
  8. // 3. 绑定组件
  9. searchView = (SearchView) findViewById(R.id.search_view);
  10. // 4. 设置点击键盘上的搜索按键后的操作(通过回调接口)
  11. // 参数 = 搜索框输入的内容
  12. searchView.setOnClickSearch(new ICallBack() {
  13. @Override
  14. public void SearchAciton(String string) {
  15. System.out.println("我收到了" + string);
  16. }
  17. });
  18. // 5. 设置点击返回按键后的操作(通过回调接口)
  19. searchView.setOnClickBack(new bCallBack() {
  20. @Override
  21. public void BackAciton() {
  22. finish();
  23. }
  24. });
  25. }
  26. }

(完整demo地址)5. 完整Demo地址

[示意图


阅读(2286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~