Libgdx - 文本框,显示键盘输入框

3
我正在为Andoird游戏实现登录UI。我使用Libgdx Textfield,但有时Android键盘会覆盖Textfield,导致输入的文本无法阅读。
解决方案是我想要在Android键盘顶部显示一个小的输入区域,就像这样: Keyboard input field example 我看到了一种选项,可以用Android Textinput对话框替换默认键盘,但我不喜欢弹出的对话框。
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中是否有内置选项可供使用,或者我应该自己实现它呢?请给予建议或提示,谢谢! :)
1个回答

3

如果您想使用内置机制,只需使用 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", "");

第二个选择是创建一个普通的文本输入框,通过缩放和改变相机位置将其置于屏幕顶部,当用户触摸输入框时将焦点对准它。尽管存在“错过”输入框并且不能正确缩放的风险。

你的回答并不完全是我问题的答案,但我喜欢你的第二个选项。谢谢你的帮助! :) - user3742480

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接