Libgdx - 文本域,显示键盘输入域
Libgdx - Textfield, show Keyboard input field
我正在为 Andoird 上的游戏实施登录 UI。
我使用 Libgdx 文本框,但有时 Android 键盘会盖住文本框,因此无法读取输入的文本。
作为解决方案,我想在 Android 键盘 的顶部显示一个 小输入区域,如下所示:
我看到一个选项,我用 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 并通过缩放和更改相机位置将相机聚焦在它上面,这样当用户触摸输入 - 虽然总是存在您将 "missed" 输入但无法正确缩放的风险
我正在为 Andoird 上的游戏实施登录 UI。 我使用 Libgdx 文本框,但有时 Android 键盘会盖住文本框,因此无法读取输入的文本。
作为解决方案,我想在 Android 键盘 的顶部显示一个 小输入区域,如下所示:
我看到一个选项,我用 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 并通过缩放和更改相机位置将相机聚焦在它上面,这样当用户触摸输入 - 虽然总是存在您将 "missed" 输入但无法正确缩放的风险