Android_SearchView
16lz
2021-01-23
- 布局文件
重要属性如下:
android:iconifiedByDefault表示搜索图标是否在输入框内。true效果更加
android:imeOptions设置IME options,即输入法的回车键的功能,可以是搜索、下一个、发送、完成等等。这里actionSearch表示搜索
android:inputType输入框文本类型,可控制输入法键盘样式,如numberPassword即为数字密码样式android:queryHint输入框默认文本
- 代码
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); searchView = (SearchView) findViewById(R.id.search_view); searchView.setIconified(false); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { public boolean onQueryTextSubmit(String query) { Toast.makeText(MainActivity.this, "begin search", Toast.LENGTH_SHORT) .show(); return true; } public boolean onQueryTextChange(String newText) { if (newText != null && newText.length() > 0) { Log.d("", "text change"); } return true; } }); // show keyboard getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);}
searchView.onActionViewExpanded();表示在内容为空时不显示取消的x按钮,内容不为空时显示.
searchView.setSubmitButtonEnabled(true);编辑框后显示search按钮,建议用android:imeOptions=”actionSearch”代替。
//隐藏键盘
InputMethodManager inputMethodManager;inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);private void hideSoftInput() {if (inputMethodManager != null) {View v = SearchActivity.this.getCurrentFocus();if (v == null) {return;}inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);searchView.clearFocus();}}
更多相关文章
- android tips—NumberPicker,DataPicker,TimePicker样式修改
- appwidget中使按钮不能用 以及 appwidget初学指导
- Android控件ToggleButton多状态按钮使用详解
- Android 中解决输入法挡住输入框的问题
- android自定义Spinner下拉菜单样式并获得选项的值
- Android中EditText点击获得焦点后无法显示输入法键盘
- Android: 自定义Tab样式,一种简单的方式。
- Android样式与主题
- Android原生拼音输入法分析