【问题标题】:Libgdx native TextInput limit text LengthLibgdx 本机 TextInput 限制文本长度
【发布时间】:2015-07-20 13:45:14
【问题描述】:

我正在使用 Libgdx 编写游戏。当用户输入玩家姓名时,我使用what was suggested here 处理虚拟键盘。这实际上就像一个魅力。但是,如果用户在名称字段中输入超过 8 个字符,则会破坏我游戏的 UI 设计。所以我想阻止用户输入超过 8 个字符。

TextField 有一个 setMaxLength 方法as defined here。如果我将此值设置为 8,则无论用户输入什么,前 8 个字符都会放在我的文本字段中。但这有点令人讨厌和误导,因为用户仍然可以输入,比如说 20 个字符,但不知道将使用前 8 个字符。

所以,我的问题是,即使我使用“本机”方式处理 TextField 输入,是否有一种机制可以阻止用户输入超过 8 个字符。

提前致谢。

【问题讨论】:

    标签: java libgdx textfield


    【解决方案1】:

    我在给你打字之前测试了这个,所以我知道它有效。下面的代码将使您的文本字段只允许您在 TextField 小部件中输入 8 个字符。不过要小心,有些字符(长度)比其他字符大(像 - 之类的字符很短)。

    textField.setMaxLength(8);  // Maximum chars will be 8
    textField.setAlignment(1);  // If you wanted to center the text
                                //     (1 = Center, 2 = Right Align)
    

    另一方面,如果要将 TextField 添加到表格中,则可以更改小部件的可见宽度。

    table.add(textField).width(50);  // I believe this is in pixels
    

    你并没有给我太多的东西(没有代码),所以我希望这个答案对你有所帮助。

    祝你的游戏好运!

    【讨论】:

    • 感谢您的回复。我会尽可能尝试您的建议,并让您知道是否可行。 [顺便说一句,我完成了游戏并发布了它。好吧,它并没有引起太多关注。 :\ 不过还是谢谢你的祝福]
    猜你喜欢
    • 2015-09-13
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多