Android專案類似淘寶 電商 搜尋功能,監聽軟鍵盤搜尋事件,延遲自動搜尋,以及時間排序的搜尋歷史記錄的實現
最近跳槽去新公司,接受的第一個任務是在 一個電商模組的搜尋功能以及搜尋歷史記錄的實現。
需求和淘寶等電商的功能大體差不多,最上面一個搜尋框,下面顯示搜尋歷史記錄。在EditText裡輸入要搜尋的關鍵字後,按軟鍵盤的搜尋按鍵/延遲xxxxms後自動搜尋。然後將搜尋的內容展示給使用者/提示使用者沒有搜到相關資訊。
歷史記錄是按時間排序的,最新的在前面,輸入以前搜尋過的關鍵字,例如牛仔褲(本來是第二條),會更新這條記錄的時間,下次再看,牛仔褲的排列就在第一位了。並且有清除歷史記錄的功能。
整理需求,大致需要做的工作如下:
功能部分:
一,點選EditText,彈出軟鍵盤輸入法,右下鍵為【搜尋】字樣。
二,監聽軟鍵盤輸入法按下【搜尋】事件。
三,在EditText輸入內容後,1000ms內無修改則 自動搜尋功能。
四,儲存按時間排序的歷史記錄,
五,清除歷史記錄
六,點選歷史記錄條目,將內容填充至EditText並自動執行搜尋功能。
UI示意圖如下:
===============UI的實現==================
搜尋Header頭部:
整體是一個水平方向LinearLayout,依次放置ImageVIew(返回箭頭),EditText(搜尋框),TextView(取消)。
佈局檔案如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
< LinearLayout
android:layout_width = "match_parent"
android:layout_height = "45dp"
android:background
|