Я реализовал SearchView на своей панели инструментов, следуя официальным инструкциям Android.
SearchView сам по себе работает хорошо, но когда я касаюсь значка поиска, он смещается влево вместо отображения кнопки «Подсказка поиска» и «Закрыть», хотя, если я нажимаю этот значок «второго поиска», в итоге я получаюТипичный вид поиска.
Вот мой xml панели инструментов:
<item android:id="@+id/search"
android:title="@string/search_view"
app:showAsAction="collapseActionView|ifRoom"
android:iconTint="@android:color/white"
android:icon="@drawable/ic_search_white_24dp"
app:actionViewClass="android.widget.SearchView" />
И мой onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Associate searchable configuration with the SearchView
SearchManager searchManager =
(SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView =
(SearchView) menu.findItem(R.id.search).getActionView();
searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName()));
return true;
}
И мой manifest.xml
<activity
android:name=".Activities.MainActivity"
android:label="@string/addWordLabel_Act"
android:launchMode="singleTop"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.SEARCH"/>
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
Наконец, у вас есть несколько скриншотов проблемы: SearchView до нажатия
SearchView после первого нажатия, вот проблема
SearchView после второго нажатия, «обычный SearchView»
И это все.
Примечание: я еще не реализовал Activity / Fragment для обработки поиска.