android 3.0下keyboard的自动弹出和search搜索按键的设置
来源:互联网 发布:网络彩票何时恢复 编辑:程序博客网 时间:2024/06/07 20:45
1 在android 3.0以上sdk开发中,start activity后edittext在显示中会自动弹出keyboard, 但3.0以下版本必须点一次edittext才可以弹出keyboard。
下面是让3.0以下版本自动弹出keyboard的方法:
private void showKeyBoard() {
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
InputMethodManager inputManager = (InputMethodManager) mEditText.getContext().getSystemService(
Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(mEditText, 0);
}
}, 800);
}
隐藏keyboard方法:
private void hideKeyBoard() {
InputMethodManager m = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
m.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
2 让keyboard显示search或相应图标
在xml中设置 android:imeOptions="actionSearch"。
如下:
<EditText
android:id="@+id/search_files_edittext"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:imeOptions="actionSearch"
android:singleLine="true"
android:textSize="19sp" />
然后需要监听search按钮,如下:
mEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
if (mEditText.getText().length() > 0 && mSearchFolder != null) {
// hideKeyBoard();
mKeyword = new String(mEditText.getText().toString().toLowerCase());
mEditText.clearFocus();
hideKeyBoard();
mTopbarSearchContainer.setVisibility(View.GONE);
setSearchContentVisiable(true);
setTopbarVisiable(true);
setTopbarTitle();
showSearchResult(true, mKeyword);
mProgressDialog = new NoBorderProgressbar(SearchFilesActivity.this);
mProgressDialog.setCanceledOnTouchOutside(false);
mProgressDialog.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
stopSearchQuery();
}
return true;
}
});
mProgressDialog.show();
}
}
return false;
}
});
注意:对于3.0版本一下的sdk, 上面的判断条件还不够,因actionId的值为0, 改成如下即可:
if (actionId == EditorInfo.IME_ACTION_SEARCH || event == null || event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
- android 3.0下keyboard的自动弹出和search搜索按键的设置
- Android绑定EditText自动弹出自定义软键盘不同按键设置不同背景的实现(自动向上顶适应布局)
- keyboard弹出情况下scrollview被遮盖的处理方法
- Android 下的Search
- Android 编程下的 EditView 阻止软键盘自动弹出
- Android去除按下HOME按键后上方的搜索框
- Android的弹出窗口设置
- android Dialog弹出框对物理按键的响应
- android Dialog弹出框对物理按键的响应
- Android弹出带搜索的软键盘
- Linux下的Keyboard子系统
- Linux下的Keyboard子系统
- android 对话框弹出位置和透明度的设置
- android 对话框弹出位置和透明度的设置
- android 对话框弹出位置和透明度的设置
- Android 对话框弹出位置和透明度的设置
- Android 对话框弹出位置和透明度的设置
- android 应用监听输入法按键事件【比如搜索和回车键等】的整个流程分析
- WebView的使用
- c++回调函数(下)
- jpeglib使用指南
- ndk-build android.mk 自动生成文件
- Android实战技巧:ViewStub的应用
- android 3.0下keyboard的自动弹出和search搜索按键的设置
- asp.net表单提交,防重复提交,并执行前台的JS验证
- ios 中大图片的应用
- openstack---------keystone
- NSString内存相关问题
- 使用Maven
- 进制转换
- popToViewController用法
- 黑马程序员------异常