SearchView в OptionsMenu не полная ширина

У меня есть рабочий SearchView, который расширяется в моем OptionsMenu, когда пользователь нажимает на значок поиска. Однако он расширяется только в пределах доступного пространства среди других значков OptionsMenu. На широком экране это нормально, но с узким пространством есть только место для отображения 5-10 символов в окне поиска. Я хочу, чтобы он перекрывал другие значки, например, для приложения «Контакты Android». В настоящее время ям здание с targetSdkVersion = 17. Надеюсь, ямне не хватает чего-то простого :)

(Примечание добавлено позже: единственное решение, которое яДо сих пор мы нашли работоспособным скрытие всех значков меню, когда я хочу развернуть значок поиска. Это концептуально просто. Но это грязно, потому что при восстановлении скрытых значков нужно пройти через кучу логики, чтобы выяснить, какие из них восстановить, или сохранить переменные состояния и т. Д.)

Вот'Мой элемент xml для OptionsMenu:


У меня также есть в коде моей основной деятельности:

@Override
public boolean onCreateOptionsMenu (Menu menu)
{
  getMenuInflater().inflate(R.menu.nav_menu, menu);
  this.optionsMenu = menu;

  MenuItem searchItem = menu.findItem (R.id.menu_search_shallow);
  searchItem.setOnActionExpandListener (this);
  SearchView searchView = (SearchView) searchItem.getActionView();
  searchView.setQueryHint (getString (R.string.search_shallow_hint));

  searchItem = menu.findItem (R.id.menu_search_deep);
  searchItem.setOnActionExpandListener (this);
  searchView = (SearchView) searchItem.getActionView();
  searchView.setQueryHint (getString (R.string.search_deep_hint));
}

а также

@Override
public boolean onMenuItemActionExpand(MenuItem item) 
{
  SearchView searchView = (SearchView) item.getActionView();
  searchView.setOnQueryTextListener (this);
  return true;
}

@Override
public boolean onMenuItemActionCollapse(MenuItem item) 
{
  SearchView searchView = (SearchView) item.getActionView();
  searchView.setQuery ("", false);
  return true;
}

Ответы на вопрос(6)

Ваш ответ на вопрос