Я не знаю, что я делаю не так.
Я уже прочитал кое-что здесь о stackoverflow и в Интернете, я прочитал официальную документацию , но я могуне могу понять, как скрыть или предотвратить расширение поля под окном поиска, когда я нажимаю на него.
Посмотрите изображение для лучшего объяснения.Для реализации я:
searchable.xml
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint"
android:includeInGlobalSearch="false"
android:searchSuggestSelection="null"/>
search_menu.xml
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/search"
android:title="@string/search_title"
android:icon="@drawable/ic_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" /></menu>
AndroidManifest.xml
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable">
</meta-data>
<intent-filter
...
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
и реализация onCreateOptionsMenu
вот так
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.search_menu, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
final SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// perform query here
query = Uri.encode(query);
// workaround to avoid issues with some emulators and keyboard devices firing twice if a keyboard enter is used
// see https://code.google.com/p/android/issues/detail?id=24599
searchView.clearFocus();
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
return true;
}
});
return super.onCreateOptionsMenu(menu);