Android自定義View:你需要一個簡單好用、含歷史搜尋記錄的搜尋框嗎?
阿新 • • 發佈:2019-01-01
前言
Android
開發中,類似下圖的搜尋功能非常常見
- 今天,我將帶來一款 封裝了 歷史搜尋記錄功能 & 樣式 的
Android
自定義搜尋框 開源庫,希望你們會喜歡。
目錄
1. 簡介
一款封裝了 歷史搜尋記錄功能 & 樣式 的Android
自定義搜尋框
2. 功能介紹
2.1 需求場景
- 在開始coding前, 理解好使用者的需求場景 有助於我們更好地設計 & 實現功能
- 需求場景如下
2.2 功能需求
- 業務流程圖
根據場景,梳理出來的功能業務流程圖如下:
- 功能列表
根據功能的業務流程圖,得出功能需求如下
- 功能原型
2.3 功能示意
3. 特點
3.1 功能實用
- 該搜尋框開源庫具備除了歷史搜尋記錄功能外,還具備一般的搜尋框功能(如一鍵清空搜尋框內容等等)
- 封裝了 常見的搜尋框樣式(如左側圖示、返回按鍵等等),使用起來更加方便
3.2 使用簡單
僅需要簡單的xml
屬性配置
下面1節會詳細介紹其使用方法
3.3 二次開發成本低
所以,在其上做二次開發 & 定製化成本非常低。
4. 具體使用
步驟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. 原始碼解析
7. 貢獻程式碼
- 希望你們能和我一起完善這款簡單 & 好用的
SearchView
控制元件,具體請看:貢獻說明 - 關於該開源專案的意見 & 建議可在Issue上提出。歡迎
Star
!
8. 總結
相信你一定會喜歡上 這款簡單 & 好用的
SearchView
控制元件已在
Github
上開源:SearchView,歡迎Star
!下一篇文章我將繼續進行一些有趣的自定義
View
例項講解,有興趣可以繼續關注Carson_Ho的安卓開發筆記