java - Libgdx - 文本字段,显示键盘输入字段

标签 java android user-interface libgdx textfield

我正在为 Andoird 上的游戏实现登录 UI。 我使用的是 Libgdx 文本域,但有时 Android 键盘会覆盖文本域,因此无法读取输入的文本。

作为解决方案,我想在 Android 键盘的顶部显示一个小输入区域,如下所示: Keyboard input field example

我看到一个选项,我用 Android 文本输入对话框替换默认键盘,但我不喜欢弹出的对话框:

textfield.setOnscreenKeyboard(new TextField.OnscreenKeyboard() {
        @Override
        public void show(boolean visible) {
            //Gdx.input.setOnscreenKeyboardVisible(true);

            Gdx.input.getTextInput(new Input.TextInputListener(){
                @Override
                public void input(String text){
                    tf_pw1.setText(text);
                }

                @Override
                public void canceled(){
                    System.out.println("Cancelled.");
                }
            }, "Title", "Default text...", "Try it out.");
        }
    });

我可以使用 libgdx 中的内置选项,还是我应该自己实现它?

请指教或指点,谢谢! :)

最佳答案

如果你想使用内置机制,只需使用Gdx.input.getTextInput方法

void getTextInput(Input.TextInputListener listener,
              java.lang.String title,
              java.lang.String text,
              java.lang.String hint)

通过以下方式:

    TextInputListener textListener = new TextInputListener()
    {
        @Override
        public void input(String input)
        {
            System.out.println(input);
        }

        @Override
        public void canceled() 
        {
            System.out.println("Aborted");
        }
    };

    Gdx.input.getTextInput(textListener, "Your login: ", "placeholder", "");

第二个选项是制作一个普通的 TextInput 并通过缩放和更改相机位置将相机聚焦在它上面,这样当用户触摸输入时它会位于屏幕顶部 - 尽管有总是冒着“错过”输入并且无法正确缩放的风险

关于java - Libgdx - 文本字段,显示键盘输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788428/

相关文章:

c++ - 我正在尝试为我的类(class)创建扫雷游戏的启动画面

java - Swing 计时器问题 - 停止计时器

java - 多维数组

文件资源管理器中的 Android Studios : Android Device Manager shows no files for Nougat 7. 0

android - 如何更改设备名称? (亚行设备)

iphone - 为什么我的 iPhone 应用程序中的默认 UI 控件变得模糊?

java - android sqlite异常游标或数据库未关闭

java - 从 Java 中的图像的一部分创建图像?

java - 使用匹配器/模式从 http 文档中提取字符串

java - 如何将WAR结构嵌入到桌面应用程序中?