Android LibGDX-TextField-TextInputListener

Android LibGDX-TextField-TextInputListener,android,libgdx,textfield,on-screen-keyboard,Android,Libgdx,Textfield,On Screen Keyboard,当您点击LibGDX中的文本字段时,它有时会停留在屏幕键盘后面。你看不到你正在键入的内容。 我使用TextInputListener来避免此问题: textPassword.setOnscreenKeyboard(new TextField.OnscreenKeyboard() { @Override public void show(boolean visible) { Gdx.input.getTextInput(new Input.TextInputList

当您点击LibGDX中的文本字段时,它有时会停留在屏幕键盘后面。你看不到你正在键入的内容。 我使用TextInputListener来避免此问题:

textPassword.setOnscreenKeyboard(new TextField.OnscreenKeyboard() {
    @Override
    public void show(boolean visible) {
        Gdx.input.getTextInput(new Input.TextInputListener() {
            @Override
            public void input(String text) {
                textPassword.setText(text);
            }

            @Override
            public void canceled() {
            }

        }, "" , "", "");
    }
});
但通过这种方式,可以通过两个步骤输入数据:

步骤1:

步骤2:

这不是一个用户友好的方法


是否可以跳过第一步直接开始第二步?

在Android中,有一些关键字可用于此目的。比如说,

<activity
        android:name=".example"
        android:theme="@style/AppTheme.NoActionBar"
        android:windowSoftInputMode="adjustResize" />

调整大小调整大小|状态隐藏调整范围调整范围|调整大小

您应该在运行应用程序的Android Manifest.Xml中尝试这些。 但我不确定这是否仍然适用于基本上使用OpenGL后端创建的LibgdxFrame。我建议,如果可能的话,你应该把你的对话框放在靠近屏幕顶部的位置


请注意,如果您想在我的游戏中部署到iOS,这个问题可能会发生在iOS设备上。在我的游戏中,如果没有硬件键盘连接(
isPeriphalAvailable
),当用户点击文本字段时,我会打开一个文本输入对话框(
Gdx.input.gettemiput
)。我建议您也这样做,以避免出现典型问题。

这实际上在libgdx上不起作用。在任何情况下,调整大小很少是需要的,而且
adjustPan
有时会将输入推出屏幕。因此,对话是一种方式。