Libgdx本机TextInput限制文本长度

时间:2015-07-20 13:45:14

标签: java libgdx textfield

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

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

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

提前致谢。

1 个答案:

答案 0 :(得分:1)

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

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

祝你好运!