Текстовое поле новой строки LibGdx в Android

#java #android #libgdx #textarea #newline

#java #Android #libgdx #текстовое поле #новая строка

Вопрос:

Я создал приложение для Android с текстовой областью, используя LibGdx. Моя проблема заключается в том, что всякий раз, когда я нажимаю на новую строку клавиатуры с сенсорным экраном (эквивалент «Enter» на клавиатуре), она не возвращает новую строку. Текст по-прежнему записывается в той же строке. Однако он перемещается только на вторую строку, если он заполняет ширину текстовой области. Как я могу вернуть новую строку в виджете текстовой области?

Ответ №1:

Взято из этого обсуждения: http://badlogicgames.com/forum/viewtopic.php?f=11amp;t=15112

Добавьте show() в функцию следующее:

 final StringBuilder build = new StringBuilder();
final TextArea textArea = new TextArea("", skin);
textArea.setTextFieldListener(new TextFieldListener()
{
    @Override
    public void keyTyped(TextField textField, char c)
    {
        // Handle a newline properly. If not handled here, the TextField
        // will advance to the next field.
        if (c == 'n')
        {
            textArea.setMessageText(build.append("n").toString());
        }
    }
});
  

Это решило проблему для меня.