Android - 如何显示自定义键盘

Android - How to show a custom keyboard

我已将自定义键盘添加到我的应用程序中。 当使用另一个具有文本输入的应用程序时它可以正常工作。我已经更改了 settings / language and input 以便它被启用并且也用作默认值。

我的问题是我不知道如何在我的应用程序中显示它。我有一个使用 canvas 绘制终端屏幕的视图。没有文本输入,但我确实需要键盘显示。

如何强制显示键盘?我看到了几种方法,使用清单、使用输入法管理器等...但 none 在我的案例中有效。 我必须集中输入才能显示键盘吗?我不能随心所欲地显示和隐藏它吗?

谢谢。

编辑:我设法通过添加文本输入并单击它来显示键盘。但是我仍然不知道如何在没有文本输入的情况下显示它。

你说它已经默认了。所以,你可以简单地让它手动显示:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

隐藏它:

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

这样,用户不必单击文本输入即可显示键盘。如果对您有帮助,请采纳。

编辑

您还必须请求焦点:

yourEditText.requestFocus()