键盘激活后,随时随地触摸屏幕,关闭键盘

时间:2014-11-03 14:24:34

标签: java android keyboard touch

我认为我无法使用正确的字词来找到我想要的代码,因为我认为这是可行的。

我只想关闭Android上的键盘视图,如果我按下键以外的任何地方。 (实际上在键盘上方......)

E.g。当我在EditView中时,完成了编辑。

3 个答案:

答案 0 :(得分:0)

这是您应该用来隐藏软键盘的功能

public static void hideSoftKeyboard(Context context){
    InputMethodManager inputMethodManager = (InputMethodManager) context
            .getSystemService(Activity.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(context.getCurrentFocus()
            .getWindowToken(), 0);
}

答案 1 :(得分:0)

EditText myEditText = (EditText) findViewById(R.id.myEditText);  
InputMethodManager imm = (InputMethodManager)getSystemService(
      Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);

答案 2 :(得分:0)

EditText myEditText = (EditText) findViewById(R.id.myEditText); 
myEditText.setOnEditorActionListener(onEditorActionListener);

protected OnEditorActionListener onEditorActionListener = new OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if (actionId == EditorInfo.IME_ACTION_DONE) {
            resetTimeout();
            InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
            v.clearFocus();
        }

        return false;
    }
};