編輯:Android開發實例
九、使用Search Widget
在Android 3.0 或更高版本中,可以使用 SearchView
widget.如果你開發的程序是基於Anroid3.0且計劃使用search widget, 那麼我們建議把search widget 作為一個an action view in the Action Bar來使用, 而不是使用search dialog (也不要把search widget 放在你的activity layout中). 比如, 圖二 就是把search widget 當做Action Bar來使用的一個界面.
search widget提供了和search dialog一樣的功能. 當用戶執行搜索的時候,它會啟動合適的activity來進行處理,它也提供搜索關鍵詞建議和語言搜索.
注意: 當你把search widget作為action view來使用時, 你可能有時仍然需要使用search dialog, 比如有時search widg在Action Bar中也不太合適. 具體的請參照下面的”同時使用search widget和search dialog“
圖二:
首先你應該向前面講的search dialog一樣,先創建好searchable配置和searchable activity,然後為每個SearchView設置好搜索助手。你可以通過setSearchableInfo()來設置你的SearchableInfo
對象,SearchableInfo它代表的是你的searchable配置。
你可以同過SearchManager
的 getSearchableInfo()
來得到 一個SearchableInfo的引用。
比如, 如果你想在Action Bar中把SearchView
作為一個action view來使用,那麼在 回調數onCreateOptionsMenu()
中就應該enable the widget 實例10:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager)getSystemService
(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()
));
searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default、
return true;
}
這樣就完了,search widget現在已經被配置好了,系統也能夠把搜索命令發送到你的searchable activity. 你也可以在 search widget中使用search suggestions。
注意: 如果你想自己處理所有用戶的輸入,請在它的回調函數和事件監聽接口方法中處理。關於SearchView 和其監聽接口,更多的內容可以參照SearchView的文檔。
關於Action Bar中action views的更多內容,請參照Using the Action Bar (裡面有把search widget作為action view來進行添加的實例代碼)
十一、search widget的其他特性可以向SearchView 添加一些其他的特性
SearchView
中還有其他的一些API允許你個性化search widget的顯示.然而他們大多數是在你自己處理用戶輸入而不Android system處理輸入和顯示search suggestions時使用
當開發基於軟件模式的游戲時,通過縮放視頻緩沖區來適應顯示尺寸是最棘手的問題之一。當面對眾多不同的分辨率時(比如開放環境下的Android),該問題會變得更加麻煩,
前面文章介紹了如何使用JAVA的反射機制來調用藍牙的隱藏API,本文繼續來練習JAVA的反射機制,探秘TelephonyManager在Framework裡包含卻
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
什麼是變量? 在計算機中用來存儲信息,通過聲明語句來指明存儲位置和所需空間。 變量的聲明方法及賦值 分號:語句結束標志 賦值號:將=右邊的值賦給左邊的變量 變量