Searchable(搜索功能)(转)
生活随笔
收集整理的這篇文章主要介紹了
Searchable(搜索功能)(转)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章來源:http://developer.android.com/guide/topics/search/search-dialog.html
一、前言: Android為程序的搜索功能提供了統(tǒng)一的搜索接口,search dialog和search widget。 search dialog只能為于activity窗口的上方,search widget可以位于任何位置。 search dialog和search widget都會(huì)向我們的searchable activity發(fā)送消息(主要是搜索關(guān)鍵字)。 通過這種方式,可以為任何activity加入search dialog和search widget,系統(tǒng)可以啟動(dòng)合適的activity來處理搜索并顯示結(jié)果。 search dialog和search widget的其他屬性如下: A:聲音搜索。 B:根據(jù)最近的搜索結(jié)果,給出搜索建議。 C:根據(jù)我們程序的實(shí)際搜索結(jié)果,給出搜索建議。 注1:search widget在 Android 3.0或更高版本才可用 注2:searchable activity才是真正執(zhí)行搜索的。 二、基本知識 在開始實(shí)現(xiàn)搜索功能之前,請決定使用search dialog,還是search widget. 他們的搜索功能特性都有一樣,但是他們還有微小區(qū)別。 A,search dialog是一個(gè)被系統(tǒng)控制的UI組件。但他被用戶激活的時(shí)候,它總是出現(xiàn)在activity的上方,如圖一所示。 B,Android系統(tǒng)負(fù)責(zé)處理search dialog上所有的事件,當(dāng)用戶提交了查詢,系統(tǒng)會(huì)把這個(gè)查詢請求傳輸?shù)轿覀兊膕earchable activity, 讓searchable activity在處理真正的查詢。當(dāng)用戶在輸入的時(shí)候,search dialog還能提供搜索建議。 C,search widget是SearchView的一個(gè)實(shí)例,你可以把它放在你的布局的任何地方。 D,默認(rèn)的,search widget和一個(gè)標(biāo)準(zhǔn)的EditText widget一樣,不能做任何事情。 但是你可以配置它,讓android系統(tǒng)處理所有的按鍵事件,把查詢請求傳輸給合適的activity,可以配置它讓它像search dialog一樣提供search suggestions。 E,search widget在 Android 3.0或更高版本才可用.?search dialog沒有此項(xiàng)限制 提示:?如果你想自己在search widget處理所有的用戶輸入,請使用各種回調(diào)函數(shù)和監(jiān)聽接口,具體參照SearchView?。 圖一: ? 當(dāng)用戶在search dialog或search widget中執(zhí)行一個(gè)搜索的時(shí)候,系統(tǒng)會(huì)創(chuàng)建一個(gè)Intent,并把查詢關(guān)鍵字保存在里面, 然后啟動(dòng)我們在AndroidManifest.xml中聲明好的searchable activity,并把Intent傳送給它。 實(shí)現(xiàn)一個(gè)可以搜索的程序,主要需要以下幾個(gè)部份: (1),search dialog or widget的配置文件。 配置一個(gè)XML文件用于配置search dialog 或widget的設(shè)置。對于search dialog,該配置文件的名字一般約定為searchable.xml (2),searchable activity。 searchable activity用于接收搜索關(guān)鍵字,并進(jìn)行數(shù)據(jù)搜索和顯示搜索結(jié)果。 (3),搜索條。search dialog 或search widget * The search dialog 默認(rèn)的,search dialog是隱藏。當(dāng)我們按下了SEARCH鍵或在程序中調(diào)用onSearchRequested(),它將出現(xiàn)在屏幕的上方. * a SearchView widget 使用search widget的時(shí)候,你可以把該搜索條放在我們activity的任何地方。 Instead of putting it in your activity layout, however, it's usually more convenient for users as an action view in the Action Bar. 三、創(chuàng)建配置文件searchable.xml 配置文件說明了search dialog 或widget的一些屬性。包括UI,以及suggestions 和voice search behave的一些屬性。 該文件一般約定為searchable.xml并位于res/xml/目錄下。 searchable.xml必須以<searchable>element 作為根節(jié)點(diǎn),且至少定義一個(gè)屬性。 比如,示例1: <?xml version="1.0" encoding="utf-8"?> <searchable xmlns:android="http://schemas.android.com/apk/res/android" android:label="@string/app_label" android:hint="@string/search_hint" > </searchable> android:label是唯一必須定義的屬性。它指向一個(gè)字符串,它應(yīng)該是應(yīng)用程序的名字。 實(shí)際上該label也只有在search suggestions for Quick Search Box可用時(shí)才可見。 這時(shí)該label在系統(tǒng)設(shè)置的Searchable項(xiàng)的列表中可見。 雖然android:hint屬性不是必須,但是還是推介總是定義它。它是search box用戶輸入前輸入框中的提示語。 <searchable> 還有其他的一些屬性。如果不需要search suggestions 和voice search的話,大多數(shù)的屬性是不需要的。 關(guān)于searchable.xml更多內(nèi)容請參考:http://developer.android.com/guide/topics/search/searchable-config.html總結(jié)
以上是生活随笔為你收集整理的Searchable(搜索功能)(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Configuration类在网页实现对
- 下一篇: php四种基础算法