[英]Android SearchView over android launcher icon?
搜索視圖(點擊/單擊后)是否可以通過android啟動器圖標展開,例如通過應用程序標題名稱展開?
也許,有沒有辦法將我的標題更改為帶有一些自定義字體的啟動器圖標(如sreenshot上的圖標)?
截圖:
在我的onCreateOptionsMenu()
內部使用此代碼有效:
SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setMaxWidth(5000);
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActionBar actionBar = getActionBar();
if (actionBar != null)
actionBar.setDisplayShowHomeEnabled(false);
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
ActionBar actionBar = getActionBar();
if (actionBar != null)
actionBar.setDisplayShowHomeEnabled(true);
return false;
}
});
注意:
對我而言,默認情況下,主頁圖標未隱藏為@MattT。 建議,因此在打開搜索時將其手動隱藏,而在關閉搜索時將其再次顯示。 還要注意, getActionBar()
需要API 14+。
如果您有興趣,請在使用searchView之前為我的自定義布局充氣:
getMenuInflater().inflate(R.menu.actionbar_items, menu);
布局( menu / actionbar_items.xml )是這樣的:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
android:title="@string/action_search"
android:actionViewClass="android.widget.SearchView"
android:showAsAction="always"/>
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:showAsAction="never" />
</menu>
這是我過去用來創建這種搜索視圖類型的示例。 http://www.edumobile.org/android/android-development/action-bar-search-view/
除非您專門設置了android:logo屬性,否則操作欄默認情況下也應帶有啟動器圖標。 您還可以使用動作欄上的setLogo()方法以編程方式對此進行修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.