我正在使用 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/