如何在Android中添加静态键盘?

How to add a static keyboard in Android?

我想在我的应用程序中向 activity 添加键盘。我不想要默认的 Android 键盘,它会在用户单击文本字段时弹出并在用户单击其他地方时隐藏。我想让键盘保持静态(它可以随时访问并且不会消失)并且在任何设备上都相同。

从本质上讲,我希望键盘的功能与我发现的这个填字游戏应用程序 (Image) 类似。

我想到的第一个解决方案是完全自己制作键盘。基本上是手动添加和硬编码每个按钮。

有没有办法更轻松地做到这一点?有可用的模板吗?

(我完全是 Android 的初学者,所以我什至可能错过了最明显的解决方案)

谢谢。

编辑:我想要实现的不仅是键盘一直保持打开状态,而且我可以轻松控制键盘的大小和位置。我想让它覆盖屏幕的特定区域。

将这些方法放入您的 activity 中。用于打开键盘

  public void openKeyboard() {
    InputMethodManager imm =
            (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm != null) {
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
    }
}

关闭键盘:

public void closeKeyboard(Activity activity) {
    if (activity != null) {
        InputMethodManager inputMethodManager =
                (InputMethodManager) activity.getSystemService(
                        Activity.INPUT_METHOD_SERVICE);
        if (inputMethodManager != null && activity.getCurrentFocus() != null) {
            inputMethodManager.hideSoftInputFromWindow(
                    activity.getCurrentFocus().getWindowToken(), 0);
        }
    }
}

您将需要制作自己的键盘布局,但除非它需要是一个功能齐全的键盘,否则不会太困难。将它放在自己的布局中 XML,每个键都有相应的 ID。

然后您可以在需要包含它的布局中使用 <include>。在 Java(或 Kotlin)中,您可以创建一个 "helper" class,它获取当前 Activity/Fragment 的根视图,找到键并设置监听器框架当按下一个键时。

至于隐藏设备的键盘,请查看答案 here