java - Libgdx 原生 TextInput 限制文本长度

标签 java libgdx textfield

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

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

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

提前致谢。

最佳答案

我在给你打字之前测试了这个,所以我知道它有效。下面的代码将使您的文本字段只允许您在 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

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

祝您游戏顺利!

关于java - Libgdx 原生 TextInput 限制文本长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31518147/

相关文章:

ios - @State破坏了我位于导航栏的TextField-SwiftUI

java - 不支持 major.minor 版本 51.0 即使使用相同的 java 版本编译和部署

java - 如何从谓词引用获取注释值?

java - neo4j找不到java

java - 类是否必须位于同一继承树上才能具有 Has-A 关系

java - 如何检测一个点是否与 libgdx 中的主体相交

java - 如何让我的 Java GUI 正确计算字段?

java - 如何修复与Ashley框架相关的NullPointerException,

java - 然后单击 LibGDX 缩放文本按钮

java - 如何限制 TextField 使其只能包含一个 '.' 字符? JavaFX