Libgdx Native TextInput membatasi Panjang teks

Saya sedang menulis game menggunakan Libgdx. Saya menggunakan apa yang disarankan di sini untuk menangani keyboard virtual saat pengguna memasukkan nama pemain. Ini benar-benar bekerja dengan sangat baik. Namun jika pengguna memasukkan lebih dari 8 karakter di kolom nama, itu akan merusak desain UI game saya. Jadi saya ingin mencegah pengguna memasukkan lebih dari 8 karakter.

TextField memiliki metode setMaxLength seperti yang didefinisikan di sini. Jika saya menetapkan nilai ini ke 8, apa pun yang dimasukkan pengguna, 8 karakter pertama akan dimasukkan ke dalam bidang teks saya. Namun hal ini agak mengganggu dan menyesatkan karena pengguna masih dapat memasukkan, katakanlah 20 karakter tanpa mengetahui bahwa hanya 8 karakter pertama yang akan digunakan.

Jadi, pertanyaan saya adalah apakah ada mekanisme untuk menghentikan pengguna memasukkan lebih dari 8 karakter meskipun saya menggunakan cara "asli" dalam menangani input TextField.

Terima kasih sebelumnya.


person Alp    schedule 20.07.2015    source sumber


Jawaban (1)


Saya menguji ini sebelum mengetik untuk Anda, jadi saya tahu ini berhasil. Kode di bawah ini akan membuat textfield Anda hanya memungkinkan Anda memasukkan 8 karakter ke dalam widget TextField. Namun hati-hati, beberapa karakter lebih besar (panjangnya) daripada yang lain (karakter seperti - pendek).

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

Catatan lain, jika Anda menambahkan TextField ke tabel, Anda dapat mengubah lebar widget yang terlihat.

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

Anda tidak memberi saya banyak manfaat (tidak ada kode), jadi saya harap jawaban ini membantu Anda.

Semoga sukses dengan permainan Anda!

person Community    schedule 14.04.2017
comment
Terima kasih untuk balasan Anda. Saya akan mencoba saran Anda kapan pun saya bisa, dan memberi tahu Anda jika berhasil atau sekarang. [Sebagai catatan tambahan, saya menyelesaikan permainan dan menerbitkannya. Yah, itu tidak mendapat terlalu banyak perhatian. :\ Tapi terima kasih atas harapan terbaikmu ] - person Alp; 23.05.2017