Android中隐藏屏幕键盘的方法

Android中需要隐藏键盘的时候(这里有两个事件(方法)可以用来对键盘进行隐藏和显示):

/**
 * 隐藏键盘
 * 弹窗弹出的时候把键盘隐藏掉
 */
protected void hideInputKeyboard(View v) {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}


/**
 * 弹起键盘
 */
protected void showInputKeyboard(View v) {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(v, 0);
}

有时候我们希望点击空白处点击隐藏键盘就可以这样写,如果想在Fragment中实现隐藏键盘的效果就在对应的

Activity中写如下的回调方法就可以了(使用的时候注意把类换成自己对应的类就可以了):

/**
 * 点击空白区域隐藏键盘.
 */
@Override
public boolean onTouchEvent(MotionEvent event) {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        if (EditDiaryActivity.this.getCurrentFocus() != null) {
            if (EditDiaryActivity.this.getCurrentFocus().getWindowToken() != null) {
                imm.hideSoftInputFromWindow(EditDiaryActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
            }
        }
    }
    return super.onTouchEvent(event);
}

你可能感兴趣的:(布局的中等知识点)