Android关于键盘相关知识

弹出键盘和收起键盘

弹出键盘

public void openSoftKeyboard(View view){
 if(view.requestFocus()){
 InputMethodManager imm =(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.showSoftInput(view,InputMethodManager.SHOW_IMPLICIT);
 }
}

关闭键盘

public void hideSoftKeyboard(View view){
 InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

监听键盘的回车键

//setImeOptions()也可在xml布局文件中通过android:imeOptions="actionDone"进行设置
mEditText.setImeOptions(EditorInfo.IME_ACTION_SEND);
mEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        //添加点击回车键的逻辑
        return false;
    }
});

监听键盘弹出和收起以及键盘高度

最近开发总结(关于键盘监听,单例模式,popupWindow)

windowSoftInputMode相关配置

可取值与相应属性
1."stateUnspecified": 不指定软键盘的状态,由系统将选择一个合适 的状态或依赖于Activity的主题的设置
2."stateUnchanged": 当该activity显示时,软键盘将一直保持在上个activity中的状态(上个Activity显示软键盘,当前activity也显示)
3."stateHidden": 当activity显示时,软键盘总是被隐藏
4."stateAlwaysHidden": 当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
5."stateVisible": 软键盘通常是可见的
6."stateAlwaysVisible": 当该activity显示时,软键盘总是显示的状态
7."adjustUnspecified": 默认设置,由系统自行决定是隐藏还是显示
8."adjustResize":该Activity总是调整屏幕的大小以便留出软键盘的空间
9."adjustPan": 当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖使用户能总是看到输入内容的部分

你可能感兴趣的:(Android关于键盘相关知识)