2013-11-03 51 views
0

我正在爲我的應用程序實施可搜索功能,並且遇到此問題。我如何更改我的Searchable的默認放大鏡?默認情況看起來很大而且很難看,我更喜歡使用與我的菜單圖標相同的drawable。更改操作欄中的可搜索圖標

Big fugly manifying glass

Searchable Configuration - Android Developer網站搜索「圖標」不會導致任何有用的信息。我也嘗試添加android:icon(這是Structure選項卡中的一個選項),以我的可搜索定義,但它不起作用。

<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:hint="@string/search_hint" 
    android:icon="@drawable/ic_custom_test" 
    android:includeInGlobalSearch="true" 
    android:label="@string/search_label" 
    android:searchSettingsDescription="@string/settings_description" 
    android:searchSuggestAuthority="com.test.provider.SuggestionProvider" 
    android:searchSuggestIntentAction="android.intent.action.VIEW" 
    android:searchSuggestIntentData="content://com.test.provider.SuggestionProvider/info" 
    android:searchSuggestSelection=" ?" 
    android:searchSuggestThreshold="1" > 
</searchable> 

在此先感謝您的幫助!

+0

你改變了嗎?請幫忙,因爲我在問你的問題。 – Eman87

回答

0

實現自己的搜索查看,刪除在菜單文件夾的main.xml/activity_main(佈局文件名)的搜索項目,然後創建一個新的項目,你自己的搜索圖標,。,

使用iconfinder .com爲不同的圖標。

在您的活動中,在選項方法中,創建切換案例並在您點擊此項時添加功能。

0
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
     SearchManager localSearchManager1 = (SearchManager)getSystemService("search"); 
     SearchView localSearchView1 = (SearchView)menu.findItem(R.id.search).getActionView(); 
     localSearchView1.setSearchableInfo(localSearchManager1.getSearchableInfo(getComponentName())); 
     localSearchView1.setIconifiedByDefault(true); 
     if (Build.VERSION.SDK_INT >= 11) 
     { 
     SearchManager localSearchManager2 = (SearchManager)getSystemService("search"); 
      SearchView localSearchView2 = (SearchView)menu.findItem(R.id.search).getActionView(); 
      localSearchView2.setSearchableInfo(localSearchManager2.getSearchableInfo(getComponentName())); 
      localSearchView2.setIconifiedByDefault(true) ; 
     } 
+1

嗨yahya,歡迎來到堆棧溢出。如果您在代碼片段之外提供了一個簡短的解釋,那麼您的答案會更加「有用」 - 它是獲得提升的有用答案;) – trooper