-
-
Notifications
You must be signed in to change notification settings - Fork 839
SearchView
xuexiangjys edited this page Apr 26, 2022
·
6 revisions
搜索框的作用是快速查找到需要的内容,当应用功能信息达到一定程度之后,搜索框就显得尤为重要。快速的查询可以增强用户的使用体验。
基于Google Material Design风格的搜索框,支持语音搜索,搜索信息提示等。
- 演示效果
- 使用案例
mSearchView.setVoiceSearch(false);
mSearchView.setEllipsize(true);
mSearchView.setSuggestions(getResources().getStringArray(R.array.query_suggestions));
mSearchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
SnackbarUtils.Long(mSearchView, "Query: " + query).show();
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
//Do some magic
return false;
}
});
mSearchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
@Override
public void onSearchViewShown() {
//Do some magic
}
@Override
public void onSearchViewClosed() {
//Do some magic
}
});
mSearchView.setSubmitOnClick(true);
- 属性表: (MaterialSearchView)
属性名 | 类型 | 默认值 | 备注 |
---|---|---|---|
msv_searchBackground | integer | #50000000 | 搜索框背景资源的id |
msv_searchVoiceIcon | integer | ic_action_voice_search | 语音按钮图标的资源id |
msv_searchClearIcon | integer | ic_action_navigation_close | 清空按钮图标的资源id |
msv_searchBackIcon | integer | ic_action_navigation_arrow_back | 返回按钮图标的资源id |
msv_searchSuggestionIcon | integer | ic_suggestion | 搜索提示图标的资源id |
msv_searchSuggestionBackground | integer | / | 搜索提示的背景资源的id |
android:hint | string | Search | 搜索输入框提示信息 |
android:textColor | color | #212121 | 搜索输入框文字颜色 |
android:textColorHint | color | #727272 | 搜索输入框提示文字颜色 |
android:inputType | enum | EditorInfo.TYPE_NULL | 搜索输入框输入的类型 |
- 设置搜索提示信息集合: setSuggestions(String[] suggestions)
- 设置提示信息集合的适配器:setAdapter(ListAdapter adapter)
- 设置是否允许语音搜索:setVoiceSearch(boolean voiceSearch)
- 设置查询监听:setOnQueryTextListener(OnQueryTextListener listener)
- 设置搜索框打开关闭监听:setOnSearchViewListener(SearchViewListener listener)
- 设置是否点击条目后直接进行查询:setSubmitOnClick(boolean submit)
- 显示搜索框:showSearch()
- 关闭搜索框:closeSearch()
- 加入到菜单中:setMenuItem(MenuItem menuItem)