Android开发EditText弹出软键盘的相关使用

来源:互联网 发布:centos iso镜像 下载 编辑:程序博客网 时间:2024/05/18 23:56

源码解读路径:android4.2.2\frameworks\base\services\java\com\android\server\InputMethodManagerService.java

显示软键盘:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);        if (imm != null) {            view.requestFocus();            imm.showSoftInput(view, InputMethodManager.SHOW_FORCED);        }

隐藏软键盘:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);        if (imm != null) {            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);        }

如果输入法在窗口上已经显示,则隐藏,反之则显示:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);          imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 

为防止一进入界面自动弹出软键盘:
1、在OnCreate方法里面加如下代码
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

2、 在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用:
在 AndroidManifest.xml文件中的activity节点下添加:android:windowSoftInputMode=”stateHidden|adjustPan”
stateHidden:是隐藏软键盘的
adjustPan:是保证控件不会因为输入法的弹出而发生形变的。

阅读全文
0 0
原创粉丝点击