2015-07-20 66 views
3

我正在使用Libgdx編寫遊戲。當用戶輸入玩家名時,我用what was suggested here來處理虛擬鍵盤。這實際上是一種魅力。但是,如果用戶在名稱字段中輸入超過8個字符,則會破壞我遊戲的UI設計。所以我想阻止用戶輸入超過8個字符。Libgdx原生TextInput限制文本長度

TextField有一個setMaxLength方法as defined here。如果將此值設置爲8,則無論用戶輸入什麼內容,前8個字符都會放在我的文本字段中。但是這是一種令人討厭和誤導的行爲,因爲用戶仍然可以進入,比方說20個字符,而不知道只有前8個字符會被使用。

所以,我的問題是,是否有一種機制來阻止用戶輸入超過8個字符,即使我使用「native」方式處理TextField輸入。

在此先感謝。

回答

1

我在打字之前測試了一下,所以我知道它是有效的。下面的代碼將使它成爲您的文本字段,只允許您在TextField小部件中輸入8個字符。但要小心,有些角色比其他角色更大(長度)(chars like - 很短)。

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 

你沒有真正給我很多從(無代碼),所以我希望這個答案可以幫助你。

祝您好運!

+0

感謝您的回覆。我會盡可能地嘗試你的建議,並讓你知道是否有作品或現在。 [在附註中,我完成了遊戲併發布了它。那麼,它沒有得到太多的關注。 :\但是,無論如何,感謝你的最美好的祝願] – Alp