Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android ApiDemos示例解析(36):App->Search->Invoke Search

Android ApiDemos示例解析(36):App->Search->Invoke Search

編輯:Android開發教程

Search (搜索)是Android平台的一個核心功能之一,用戶可以在手機搜索在線的或是本地的信息。Android平台為所有需要 提供搜索或是查詢功能的應用提供了一個統一的Search Framework來幫助實現Search功能。Search Framework的UI可以有兩種形 式:

屏幕頂部的Search Dialog:如Google Map提供的搜索條。

可以嵌到ContentView中的SearchView,應用可以將它放在屏幕上任何地方。

不管采用那種UI,Android系統都可以通過向某個指定Activity發送需要查詢的內容來幫助應用實現查詢功能。同時Android 也支持查詢提示,如下圖所示:

除此之外,Android查詢UI可以支持:

語音查詢

根據用戶輸入提供查詢提示列表

支持應用自定義查詢提示列表來匹配用戶輸入

在系統全局搜索(System-wide Quick Search Box)提供你的應用相關的查詢提示列表

Invoke Search介紹了如何使用Search Framework 並采用Search dialog 的方式在屏幕頂部顯示查詢條。下面結合例子介紹 使用Search Framework的一般步驟:

Create a Search Interface

本例采用屏幕頂部Search Dialog的方式。在這 種方式下,Android操作系統接管所有Search Dialog的事件,當用戶提交查詢後,Android系統將給支持的用來處理查詢的 Activity發送消息。Search Dialog可以提供查詢提示列表來匹配用戶輸入。

用戶提交查詢後,Android系統構造一個 Intent並把用戶的查詢內容放在這個Intent中。然後Android啟動你定義的用來處理用戶查詢的Activity(稱為Searchable Activity),並把這個Intent發給該Activity。為了能夠使用Android系統提供的Search Framework.需要以下幾步:

1. Creating a Searchable Configuration

首先定義一個Searchable configuration,用於描述Search Dialog 的一些屬性 ,該描述文件按慣例通常命名為searchable.xml 並定義在/res/xml 目錄下。

<searchable xmlns:android=” http://schemas.android.com/apk/res/android”

android:label=”@string/search_label”

android:hint=” @string/search_hint”

android:searchMode=”showSearchLabelAsBadge”

android:voiceSearchMode=” showVoiceSearchButton|launchRecognizer”

android:voiceLanguageModel=”free_form”

android:voicePromptText=” @string/search_invoke”

android:searchSuggestAuthority=”com.example.android.apis.SuggestionProvider”

android:searchSuggestSelection=” ? ”

/>

只有android:label是必須的,一般定義為應用程序的名稱。盡 管不是必須的,一般也會定義android:hint。這個屬性定義查詢框沒有任何輸入時的背景文字。如上圖中的”Search the dictionary” 。本例中為“Search Demo Hint”來提示用戶可以輸入的內容。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved