很多时候,我们需要写出一个搜索的栏,点击打开软键盘,当我们使用软键盘上的回车按键进行搜索的时候,会给用户带来良好的体验,因此今天我们就来学习一下,
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: Go
EditorInfo.IME_ACTION_SEARCH: 放大镜
EditorInfo.IME_ACTION_SEND: Send
EditorInfo.IME_ACTION_NEXT: Next
EditorInfo.IME_ACTION_DONE: Done,回车键,按下后光标到下一行,确定/完成,隐藏软键盘,即使不是最后一个文本输入框
本人菜鸟一个,有什么不对的地方,希望大家指出评论,大神勿喷,希望大家一起学习进步!