Android自定義搜索框,封裝了 歷史搜索記錄功能和樣式

示意圖

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

1. 簡介

一款封裝了 歷史搜索記錄功能 & 樣式 的Android自定義搜索框java

已在 Github開源: 地址:SearchLayout,歡迎  Star !

[示意圖]()android

2. 功能介紹

2.1 需求場景

[示意圖]()git

2.2 功能需求

  • 功能列表

[示意圖]()github

  • 功能原型

[示意圖]()app

2.3 功能示意

[示意圖]()ide

3. 特色

3.1 功能實用

  • 該搜索框開源庫具有除了歷史搜索記錄功能外,還具有通常的搜索框功能(如一鍵清空搜索框內容等等)
  • 封裝了 常見的搜索框樣式(如左側圖標、返回按鍵等等),使用起來更加方便

3.2 使用簡單

僅須要簡單的xml屬性配置源碼分析

下面1節會詳細介紹其使用方法

3.3 二次開發成本低

  • 本項目已在 Github上開源:地址:SearchLayout
  • 具有詳細的源碼分析文檔:請看文章[Android開源庫:手把手教你實現一個簡單好用的搜索框(含歷史搜索記錄)]

因此,在其上作二次開發 & 定製化成本很是低。ui

4. 具體使用

該款[SearchLayout]()使用很是簡單,僅需2步:spa

步驟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();
            }
        });
    }
}

(https://github.com/Carson-Ho/.... 完整Demo地址

Carson_Ho的Github地址:SearchLayout

[示意圖]

相關文章
相關標籤/搜索