我已经设置了一个 Toolbar
和一个 SearchView
小部件。此 Toolbar
菜单的 XML 如下:
<item android:id="@+id/searchView"
android:title="@string/search_title"
android:icon="@drawable/ic_baseline_search_24px"
app:actionViewClass="android.support.v7.widget.SearchView"
app:showAsAction="collapseActionView|ifRoom" />
在具有此 Toolbar
的 fragment 上,我已覆盖其方法 onCreateOptionsMenu
以显示 Toolbar
并配置 SearchView
.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater menu_inflater) {
menu_inflater.inflate(R.menu.action_bar_menu, menu);
super.onCreateOptionsMenu(menu,menu_inflater);
AppCompatActivity app_compat_activity = (AppCompatActivity) getActivity();
SearchView search_view = (SearchView) menu.findItem(R.id.searchView).getActionView();
search_view.setIconified(false);
search_view.setIconifiedByDefault(false);
search_view.clearFocus();
SearchManager search_manager = (SearchManager) Objects.requireNonNull(app_compat_activity).getSystemService(Context.SEARCH_SERVICE);
search_view.setSearchableInfo(Objects.requireNonNull(search_manager).getSearchableInfo(app_compat_activity.getComponentName()));
}
我的目标是扩展 SearchView
(填满 Toolbar
的所有宽度)。上面的代码不起作用。
最佳答案
改变
app:showAsAction="collapseActionView|ifRoom"
到
app:showAsAction="always"
移除 search_view.clearFocus();
关于Android SearchView 小部件 : setIconified[ByDefault or not](false) not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52354292/