您的位置:首页 > 移动开发 > Android开发

Android 更改软键盘Enter键为搜索

2016-06-28 11:14 399 查看
项目当中 有关键词搜索商品,但是 又不想单独做一个按钮 那么就更改一下软键盘的enter键 来帮助实现这个需求

 一些注意事项 全部写在 注释当中这里不在赘述

 

xml代码

<EditText
android:textColorHint="#CCCCCC"
android:background="@drawable/drouble"
android:id="@+id/search"
android:hint="搜索需要的商品..."
android:textSize="13dip"
android:layout_width="12dp"
android:layout_weight="4"
android:layout_height="match_parent"
android:imeOptions="actionSearch"
android:inputType="text"
android:singleLine="true"

/>

/*****/
android:imeOptions="actionSearch"
android:inputType="text"
android:singleLine="true"   这三条属性必须加上


java代码

//        http://my.oschina.net/u/2444750/blog/523209 更改软件盘 Enter键 属性
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {

Toast.makeText(getApplicationContext(), "换行键已更改", Toast.LENGTH_SHORT).show();

((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(
MainActivity.this.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
}
return false;
}
});
//点击软键盘搜索按钮后隐藏掉软键盘
final InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (getCurrentFocus() != null && getCurrentFocus().getWindowToken() != null) {
manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
return false;
}
});
//        .actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.
//        2.actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
//        3.actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
//        4.actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH
//        5.actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
//        6.actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT
//        7.actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: