0

我查看了几个问题并遇到了几个帖子,但我无法弄清楚如何做到这一点。

下图显示了基本布局: 在此处输入图像描述

我创建了一个自定义小键盘并将其放在 repo 上。

目前,当应用程序打开时,编辑文本具有焦点,但我用键盘输入的任何内容都会进入编辑文本框。这部分功能运行良好。

问题:当我再次触摸edittext时,弹出带有巨大键盘的系统输入法。我如何完全阻止它弹出?或者,我可以告诉应用程序只使用我的键盘而不是系统键盘吗?(或者是编写自定义 ime 的唯一方法?)

我不能在清单中使用 NULL 类型输入,因为这样做会使编辑文本中的插入符号消失,而且如果有两个编辑文本,我不知道哪个有焦点。

任何帮助将不胜感激!

4

1 回答 1

1

你可以做几件事:

  1. 以编程方式将其隐藏在整个应用程序中:

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    
  2. 将其从将附加到的视图中隐藏:

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
    
  3. 将 EditText 的输入类型设置为 0:

    EditText yourEditText=(EditText)findViewById(R.id.editTextConvertValue);
    yourEditText.setInputType(0);
    
于 2012-06-07T19:18:31.877 回答