編輯: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:根據我們程序的實際搜索結果,給出搜索建議。 注1:search widget在 Android 3.0或更高版本才可用 注2:searchable 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 activity。 searchable 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.htmlhello,大家好,本文主要介紹如何開始開發一個美觀、有情調、人見人愛的Android應用程序,已知我們在市面上有不少布局極其精美,在視覺上讓人愛不釋手的應用程序
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
雜語:看了很多程序猿都有寫博客的習慣,看來我也得練練,不管寫的好不好了,學到點什麼體會就寫寫吧。 內容解說:這幾天開始學游戲地圖制作,今天小小的總結一下Canva
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用