禁用软键盘

时间:2017-11-24 11:19:00

标签: android android-edittext android-keypad

我需要禁用软键盘,并且只启用硬键盘,所以我创建了这种edittext,它工作得非常好,但在某些HTC手机上这种类型的edittext禁用多行语句(不知道它是如何工作的)

public class NoImeEditText extends EditText {
    public NoImeEditText(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    public boolean onCheckIsTextEditor() {
        return false;
    }
}

我使用这种代码的另一种方式,它不起作用。

    keyboardText.setShowSoftInputOnFocus(false);


    InputMethodManager imm = (InputMethodManager)getMainActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm != null)
        imm.hideSoftInputFromWindow(keyboardText.getWindowToken(), 0); 

1 个答案:

答案 0 :(得分:1)

这可能有效,

   @Override
    protected void onCreate(Bundle savedInstanceState) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}

这会隐藏软键盘。