MaterialSearchView并不专注于启动 - Android

时间:2016-06-20 08:28:31

标签: android material-design android-toolbar

我正在使用MaterialSearchView(https://github.com/MiguelCatalan/MaterialSearchView),这是一个在Material Design方法中实现SearchView的库。

它将搜索视图放在工具栏中。但是,不知道如何专注于搜索,以便在行为开始时,搜索立即获得焦点并显示虚拟键盘。只有在我点击搜索图标时它才会聚焦。

MaterialSearchView searchView;
        searchView = MaterialSearchView)getActivity().findViewById(R.id.search_view);
searchView.requestFocus();

不起作用。

我是从片段和活动中尝试过的。

由于

2 个答案:

答案 0 :(得分:1)

我建议您使用my implementation of MaterialSearchView,无需点击工具栏/操作栏就可以打开它。

例如,在您的Activity中,您可以执行以下操作:

// Activity:
MaterialSearchView searchView = (MaterialSearchView) findViewById(R.id.search_view);

然后,在代码中的任何位置,您都可以通过调用以下方式打开视图:

searchView.openSearch();

通过致电:

关闭它
searchView.closeSearch();

因此,您可以将openSearch()放在onResume()内。这样,您Activity启动时,您始终会打开搜索视图。您也可以通过Button上的任意Activity调用该方法。

P.S。:它还支持搜索建议和搜索记录。

加分:有一个gif(它用葡萄牙语显示,但它也支持英语,所以不用担心)。

Material Search View

有关如何设置和查看用例的详细信息,您可以check the docs

答案 1 :(得分:0)

创建菜单参考对象:

private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
   this.menu = menu;
//rest of your code here ...
}

然后在您的Activity的onResume()上,您可以通过编程方式模拟项目点击:

onOptionsItemSelected(menu.findItem(R.id.searhView));