1、布局文件配置
<EditText
android:layout_marginRight="20dp"
android:id="@+id/OTInBound_Et_wareCode"
android:layout_width="170dp"
android:layout_height="33dp"
android:background="#f0f0f0"
android:imeOptions="actionSearch"
android:singleLine="true" />
主要配置元素:
android:imeOptions="actionSearch" //搜索
android:singleLine="true" //防止换行
2、监听事件
//物料编码搜索 mEt_wareCode.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //是否是回车键 if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) { //隐藏键盘 ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(OtherInBoundActivity.this.getCurrentFocus() .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); //搜索 } return false; } });
注意:
&& event.getAction() == KeyEvent.ACTION_DOWN //如果if中少了这句,可能会出现点击一次出现两次响应
补充: android:imeOptions对应值的功能
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕 同时,
这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone" //输入框右侧不带任何提示
android:imeOptions="actionGo" //右下角按键内容为'开始'
android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索
android:imeOptions="actionSend" //右下角按键内容为'发送'
android:imeOptions="actionNext" //右下角按键内容为'下一步' 或者下一项
android:imeOptions="actionDone" //右下角按键内容为'完成'