在EditText中隐藏默认Android软输入不起作用

时间:2013-08-19 23:46:32

标签: android android-edittext

我尝试用

隐藏默认的软键盘
  getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

但是当我点击EditText时键盘再次出现

我也试过

input.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

android:imeOptions="flagNoExtractUi"

没有结果, 单击EditText时,键盘始终显示。

如果我将inputType设置为null,则不显示keybard,但editText变得无法使用,因为我无法再选择或移动光标,也无法复制粘贴任何内容

任何解决方案?

3 个答案:

答案 0 :(得分:2)

如果您不希望键盘出现,请使用以下代码:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
        WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);

通过这种方式,android软键盘将始终隐藏,您可以正常使用光标,选择复制粘贴等。

答案 1 :(得分:0)

设置无提取ui将无效,这意味着不显示手机在横向显示的大型全屏视图。键盘仍然会出现。

永久关闭键盘没有api。如果你想这样做,我会使用android:editable = false,那么你必须自己处理所有文本设置(因为你没有使用真正的输入法)。

答案 2 :(得分:0)

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);

其中 editText 是您的EditText组件的名称。