Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android Searchable之一

Android Searchable之一

編輯:Android開發實例

文章來源:http://developer.android.com/guide/topics/search/search-dialog.html

一、前言: Android為程序的搜索功能提供了統一的搜索接口,search dialog和search widget。 search dialog只能為於activity窗口的上方,search widget可以位於任何位置。 search dialog和search widget都會向我們的searchable activity發送消息(主要是搜索關鍵字)。 通過這種方式,可以為任何activity加入search dialog和search widget,系統可以啟動合適的activity來處理搜索並顯示結果。 search dialog和search widget的其他屬性如下: A聲音搜索B根據最近的搜索結果,給出搜索建議C根據我們程序的實際搜索結果,給出搜索建議注1search widget在 Android 3.0或更高版本才可用 注2searchable activity才是真正執行搜索的二、基本知識 在開始實現搜索功能之前,請決定使用search dialog,還是search widget. 他們的搜索功能特性都有一樣,但是他們還有微小區別。 A,search dialog是一個被系統控制的UI組件。但他被用戶激活的時候,它總是出現在activity的上方,如圖一所示B,Android系統負責處理search dialog上所有的事件,當用戶提交了查詢,系統會把這個查詢請求傳輸到我們的searchable activity, 讓searchable activity在處理真正的查詢。當用戶在輸入的時候,search dialog還能提供搜索建議。 C,search widget是SearchView的一個實例,你可以把它放在你的布局的任何地方D,默認的,search widget和一個標准的EditText widget一樣,不能做任何事情。 但是你可以配置它,讓android系統處理所有的按鍵事件,把查詢請求傳輸給合適的activity,可以配置它讓它像search dialog一樣提供search suggestions。 E,search widget在 Android 3.0或更高版本才可用. search dialog沒有此項限制 提示: 如果你想自己在search widget處理所有的用戶輸入,請使用各種回調函數和監聽接口,具體參照SearchView 圖一:   當用戶在search dialog或search widget中執行一個搜索的時候,系統會創建一個Intent,並把查詢關鍵字保存在裡面, 然後啟動我們在AndroidManifest.xml中聲明好的searchable activity,並把Intent傳送給它。 實現一個可以搜索的程序,主要需要以下幾個部份(1)search dialog or widget的配置文件配置一個XML文件用於配置search dialog 或widget的設置。對於search dialog,該配置文件的名字一般約定為searchable.xml (2)searchable activitysearchable activity用於接收搜索關鍵字,並進行數據搜索和顯示搜索結果。 (3)搜索條。search dialog 或search widget     * The search dialog       默認的,search dialog是隱藏。當我們按下了SEARCH鍵或在程序中調用onSearchRequested(),它將出現在屏幕的上方.     * a SearchView widget 使用search widget的時候,你可以把該搜索條放在我們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. 三、創建配置文件searchable.xml 配置文件說明了search dialog 或widget的一些屬性。包括UI,以及suggestions 和voice search behave的一些屬性。 該文件一般約定為searchable.xml並位於res/xml/目錄下。 searchable.xml必須以<searchable> element 作為根節點,且至少定義一個屬性 比如,示例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是唯一必須定義的屬性。它指向一個字符串,它應該是應用程序的名字 實際上該label也只有在search suggestions for Quick Search Box可用時才可見。 這時該label在系統設置的Searchable項的列表中可見 雖然android:hint屬性不是必須,但是還是推介總是定義它。它是search box用戶輸入前輸入框中的提示語 <searchable> 還有其他的一些屬性。如果不需要search suggestions 和voice search的話,大多數的屬性是不需要的。 關於searchable.xml更多內容請參考:http://developer.android.com/guide/topics/search/searchable-config.html
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved