前言
-
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的簡書
不定期分享關于安卓開發的干貨,追求短、平、快,但卻不缺深度。