我想完全禁用Android中的键盘进行活动

时间:2017-09-08 21:42:16

标签: android

我做的第一件事就是onCreate();我活动的方法。

getWindow().setSoftInputMode(WindowManager().LayourParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

我做的第二件事就是在清单文件中。

android:windowSoftInputMode="stateAlwaysHidden"

但他们两个都没有工作! 当我点击EditText时。键盘出现。

点击位置enter image description here

之前

点击enter image description here

我不希望键盘在后台。我该怎么办?

3 个答案:

答案 0 :(得分:0)

你试过这个吗?

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

这应删除当前焦点视图的键盘

答案 1 :(得分:0)

OnTouchListener上实施editText并设置以下属性

希望这会对你有所帮助

editTextEmail.setOnTouchListener(new View.OnTouchListener(){
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int inType = editTextEmail.getInputType(); // backup the input type
        editTextEmail.setInputType(InputType.TYPE_NULL); // disable soft input
        editTextEmail.onTouchEvent(event); // call native handler
        editTextEmail.setInputType(inType); // restore input type
        editTextEmail.setFocusable(true);
        editTextEmail.setCursorVisible(false);
        return true; // consume touch even
    }
});

答案 2 :(得分:0)

试试这个。它运作得很好。

if (Build.VERSION.SDK_INT >= 11) {
    editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
    editText.setTextIsSelectable(true);
} else {
    editText.setRawInputType(InputType.TYPE_NULL);
    editText.setFocusable(true);
}