Android のドキュメントでは、アプリのロゴが定義されている場合はどこでも使用されると説明されています。しかし、検索ビューが展開されると、アプリのロゴの代わりにアプリのアイコンが使用され、検索ビューが展開された状態のときにアプリのロゴを表示する方法が見つかりません。
関連パーツはこちら。
マニフェスト ファイル
<application
android:name="MyApp"
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:logo="@drawable/app_logo"
android:theme="@style/Theme.MyTheme" >
searchable.xml (アイコンを設定しても何も変わらない)
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:icon="@drawable/app_logo"
android:label="@string/app_name"
android:hint="@string/search_hint" >
</searchable>
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_search"
android:actionViewClass="com.actionbarsherlock.widget.SearchView"
android:icon="@drawable/ic_search"
android:showAsAction="always|collapseActionView" />
活動コード
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
menu.findItem(R.id.menu_search).setActionView(searchView);
注: ABS SearchView を使用していますが、デフォルトの SearchView に切り替えると同じことが起こります。
編集:わかりやすくするためにスクリーンショットをいくつか追加しました。
ここでは、アプリのロゴに星の画像、アプリのアイコンに Android の画像を使用しました。最初のスクリーンショットは、アクティビティのデフォルト ビューです。2 つ目は、検索ボタンをクリックしたときのビューです。星の画像であると期待しているのに、Androidの画像が表示されます。