0

我试图隐藏默认的软输入键盘

  getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

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

我也试过

input.setImeOptions(EditorInfo.IME_FLAG_NO_EXTRACT_UI);

android:imeOptions="flagNoExtractUi"

没有结果,当我单击 EditText 时,键盘总是出现。

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

有什么解决办法吗?

4

3 回答 3

2

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

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

这样安卓软键盘就会一直隐藏,可以正常使用光标、选择复制粘贴等。

于 2013-08-20T02:14:33.237 回答
0

设置 no extract ui 将不起作用,这意味着不显示手机以横向显示的大全屏视图。键盘仍然会出现。

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

于 2013-08-20T01:01:53.943 回答
0
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);

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

于 2014-04-22T12:05:00.437 回答