【问题标题】:LibGDX: Moving text field so it is visible when typing with on-screen keyboardLibGDX:移动文本字段,以便在使用屏幕键盘键入时可见
【发布时间】:2014-11-13 00:28:50
【问题描述】:

我目前正在为我正在制作的游戏制作登录系统。我有一个“用户名”TextField 和一个“密码”TextField。使用 Android 等移动设备时,我需要使用屏幕键盘。问题是键盘挡住了TextField 框,我在打字时再也看不到它了。有没有办法在屏幕键盘显示时移动TextField

我尝试了几种方法,但我卡住的地方是无法检测键盘是否在屏幕上。此外,使用弹出文本输入对话框是不可能的,因为我有一个密码字段并且没有密码选项。

提前致谢!

【问题讨论】:

    标签: keyboard passwords libgdx textfield android-softkeyboard


    【解决方案1】:

    这么晚才回答,但如果对任何人有帮助。

    FocusListener() 添加到TextField,这样您就可以在TextField 获得焦点(单击)时收听事件。

    通过调用将相机的y 位置更改为屏幕高度一半左右的数字:

    camera.position.set(x, y, z);
    camera.update();
    

    这会将屏幕向上移动,您现在可以查看之前被键盘屏蔽的内容。

    【讨论】:

    • 有点晚,但我仍然可以使用它。无论如何,感谢您花时间回答!
    • :) 没问题。很高兴您仍然可以使用它。
    • 这很好,但是当用户按下后退按钮时,如何将相机向后移动?这没有设置focus=false
    • @Green_qaue 是的,我也遇到了这个问题。当键盘弹出时,Android 会从 Libgdx 获得控制权,因此无法捕捉返回按钮。我无法解决这个问题。我所做的是放置一个大的透明按钮并听取其更改监听器以重置相机位置。使用stage.unfocusAll() 取消所有演员的焦点。
    • 我设法通过抓住后退按钮解决了这个问题。但是你需要重新编写android启动器。
    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 2012-08-14
    • 1970-01-01
    相关资源
    最近更新 更多