很多时候,我们需要写出一个搜索的栏,点击打开软键盘,当我们使用软键盘上的回车按键进行搜索的时候,会给用户带来良好的体验,因此今天我们就来学习一下,
1.首先,写一个输入框EditText:
<EditText android:id="@+id/activity_blog_infomation_et" android:layout_width="260dp" android:layout_height="30dp" android:layout_gravity="center" android:paddingLeft="2dp">2.然后在activity中进行动态设置(本来是在xml中进行设置的,后来发现不好用):
//设置键盘搜索按钮 seekEt.setInputType(EditorInfo.TYPE_CLASS_TEXT); seekEt.setImeOptions(EditorInfo.IME_ACTION_SEARCH); seekEt.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { // 先隐藏键盘// ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(BlogInfomationActivity// .this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); //进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断 search(); } return false; } });3.最后在清单文件中这个activity中: 设置android:windowSoftInputMode=”adjustPan”,activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
<activity android:name=".home.blogInfomation.BlogInfomationActivity" android:windowSoftInputMode="adjustPan" android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" />4.效果图如下: 
5.当然我们可以设置别的样式:
EditorInfo.IME_ACTION_GO: GoEditorInfo.IME_ACTION_SEARCH: 放大镜EditorInfo.IME_ACTION_SEND: SendEditorInfo.IME_ACTION_NEXT: NextEditorInfo.IME_ACTION_DONE: Done,回车键,按下后光标到下一行,确定/完成,隐藏软键盘,即使不是最后一个文本输入框本人菜鸟一个,有什么不对的地方,希望大家指出评论,大神勿喷,希望大家一起学习进步!
新闻热点
疑难解答