Android開源:這里有一個簡單好用、含歷史搜索記錄的搜索框


前言

  • 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 二次開發成本低

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


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地址

Carson_Ho的Github地址:SearchView

示意圖

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的簡書

不定期分享關于安卓開發的干貨,追求短、平、快,但卻不缺深度


請點贊!因為你的鼓勵是我寫作的最大動力!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容