В документах 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.
EDIT: Я добавил несколько скриншотов для ясности.
Здесь я использовал изображение звезды для логотипа приложения и изображение Android для значка приложения. Первый снимок экрана - это представление активности по умолчанию. Второй - это вид, когда я нажимаю кнопку поиска. Он показывает изображение андроида, пока я ожидаю, что это будет изображение звезды.