Пользовательский SearchView полностью доступен для Android в Android

У меня есть виджет SearchView в моем приложении, и я хочу задать некоторые вопросы о его создании. Прежде всего, вы можете начать поиск, нажав на значок поиска, есть ли способ сделать весь SearchView доступным? Кроме того, есть ли способ заставить SearchView выглядеть примерно так, когда нажимается?

Занятый кот http://i41.tinypic.com/rr2ow4.png ! [] [1]

Сейчас в этом состоянии:

Занятая кошка http://i41.tinypic.com/11jlu2p.png ! [] [1]

Вот мой код:

citySearch = (SearchView) findViewById(R.id.city_search_bar); citySearch.setBackgroundResource(R.drawable.search_background); citySearch.setOnSearchClickListener(new OnClickListener() { @Override public void onClick(View arg0) { citySearch.setIconifiedByDefault(true); //citySearch.setIconified(true); } }); citySearch.setOnQueryTextListener(new OnQueryTextListener() { @Override public boolean onQueryTextChange(String text) { ((Filterable) cityListView.getAdapter()).getFilter().filter(text); return false; } @Override public boolean onQueryTextSubmit(String text) { return false; } }); try { Field searchField = SearchView.class.getDeclaredField("mSearchButton"); searchField.setAccessible(true); ImageView searchBtn = (ImageView)searchField.get(citySearch); searchBtn.setImageResource(R.drawable.search_icon); searchBtn.setScaleType(ScaleType.FIT_CENTER); searchPlate.setBackgroundResource(R.drawable.search_background); } catch (NoSuchFieldException e) { Log.e("SEARCHSTYLEERROR",e.getMessage(),e); } catch (IllegalAccessException e) { Log.e("SEARCHSTYLEERROR",e.getMessage(),e); } 

По умолчанию SearchView «отображается», который отображается как значок увеличительного стекла, и только если пользователь нажимает на значок, то поле редактирования расширяется.

Чтобы пользователь мог щелкнуть в любом месте SearchView и расширить поле ввода. Нам просто нужно добавить прослушиватель кликов и вызвать setIconified (false), когда пользователь нажимает.

 searchView = (SearchView)findViewById(R.id.searchView); searchView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { searchView.setIconified(false); } });