- Как добавить разрыв строки в Android TextView?
- 1) символ новой строки \n
- 2) HTML-тег новой строки или
- Заключение строки в двойные кавычки
- При использовании одной строки в XML для представления многострочных строк
- Как добавить разрыв строки в Android TextView?
- 21 ответов
- 1) символ перевода строки \n
- 2) перевод строки в HTML теге или
- Как добавить разрыв строки в Android TextView?
- 1) Символ новой строки \n
- 2) Html newline tag или
- Android textview не поддерживает разрыв строки
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
Как добавить разрыв строки в Android TextView?
Я пытаюсь добавить разрыв строки в TextView.
Я пытался предложить \ n, но это ничего не значит. Вот как я устанавливаю свои тексты.
Это моя строка: some test line 1 \n some test line 2
Это должно показать так:
Но это показывает , как так: some test line 1 some test line 2 .
Я что-то упускаю?
\n у меня работает, вот так:
так что обтекание в CDATA необходимо и разрывы добавляются внутрь как HTML-теги
Версия Android 1.6 не распознает \ r \ n. Вместо этого используйте: System.getProperty («line.separator»)
Разрыв строки (\ n) работает только в том случае, если вы указали значение строкового ресурса в кавычках:
Это не будет делать разрывы строк, если вы поставите его без кавычек, как это:
да, это так просто
Попробовал все вышеизложенное, провел собственное исследование, в результате чего было найдено следующее решение для отображения escape-символов перевода строки:
Используя метод замены, вам нужно отфильтровать экранированные переводы строк (например, ‘\\ n’)
Только тогда каждый экземпляр escape-символа перевода строки ‘\ n’ будет преобразован в фактический перевод строки.
Для этого примера я использовал базу данных Служб Google Scripting noSQL (ScriptDb) с данными в формате JSON.
Это сработало для меня
Есть два способа обойти это. Если вы используете вашу строку как необработанную строку, вам нужно использовать символ новой строки. Если вы используете его как HTML, например, анализируя его Html.fromString , второй вариант лучше.
1) символ новой строки \n
2) HTML-тег новой строки
или
Это сработало для меня, может быть, кто-то найдет это полезным:
Если вы используете XML для объявления вашего использования TextView android:singleLine = «false» или в Java, используйте txtSubTitle.setSingleLine(false);
Используется Android Studio 0.8.9. Единственный способ, сработавший для меня, это использование \n . Ни упаковка с CDATA, ни
или не
работали.
Я использую следующее:
очень просто: используйте «\ n»
\ n соответствует ASCII char 0xA, который является ‘LF’ или переводом строки
\ r соответствует ASCII char 0xD, который является ‘CR’ или переводом каретки
это восходит к самым первым пишущим машинкам, где вы можете выбрать только перевод строки (и введите только строку ниже) или перевод строки + возврат каретки (который также перемещается в начало строки)
в Android / java \ n соответствует возврату каретки + перевод строки, так как в противном случае вы просто «перезаписали бы» ту же строку
Попробуйте перепроверить ваши локализации. Возможно, вы пытаетесь редактировать один файл (локализация), но на самом деле программа использует другой, как в моем случае . Системный язык по умолчанию русский, а я пытаюсь редактировать английскую локализацию.
В моем случае, рабочим решением является использование «\ n» в качестве разделителя строк:
Также вы можете добавить «
» вместо \ n.
Это HTML экранированный код для
И тогда вы можете добавить текст в TexView:
Вы также можете использовать String-Editor в Android Studio, он автоматически генерирует линейные тормоза и тому подобное .
Как Html.fromHtml устаревший, я просто использовал этот код, чтобы получить String2 в следующей строке.
Самый простой способ сделать это — перейти к значениям / строкам (в папке ресурсов)
Объявите строку там:
И в вашем конкретном XML-файле просто вызовите строку как
Я нашел другой метод: необходимо добавить атрибут » android: maxWidth =» 40dp « «. Конечно, это может не работать идеально, но это дает разрыв строки.
\ n не работал для меня. Я смог решить проблему, изменив xml на text и создав текстовое свойство textview, как показано ниже.
Надеюсь, это поможет тем, кто сказал, что \ n не работает для них.
Я читаю свой текст из файла, поэтому я выбрал немного другой подход, так как добавление \ n к файлу привело к появлению \ n в тексте.
Может быть, вы можете вставить lf в текст, но он не отображается? Убедитесь, что у вас достаточно высоты для контроля. Например:
Может быть не прав
В моем случае я решил эту проблему, добавив следующее:
Я чувствую, что необходим более полный ответ, чтобы описать, как это работает более тщательно.
Во-первых, если вам нужно расширенное форматирование, посмотрите руководство по использованию HTML в строковых ресурсах .
Затем вы можете использовать
и т. Д. Однако, это требует установки текста с помощью кода.
Если это простой текст, есть много способов избежать символа новой строки (LF) в статических строковых ресурсах .
Заключение строки в двойные кавычки
Самый чистый способ — заключить строку в двойные кавычки.
Это сделает так, что пробел интерпретируется точно так, как он выглядит, а не свернут.
Тогда вы можете просто использовать символ новой строки в этом методе (не используйте отступы).
Обратите внимание, что некоторые символы требуют специального экранирования в этом режиме (например, \» ).
Экранирующие последовательности ниже также работают в режиме кавычек.
При использовании одной строки в XML для представления многострочных строк
Самый элегантный способ избежать перехода на новую строку в XML — это использовать его кодовую точку (10 или 0xA в шестнадцатеричном формате), используя его сущность XML / HTML или . Это способ XML избежать любого символа .
Однако, похоже, это работает только в режиме кавычек.
Другой способ — просто использовать \n , хотя, по моему мнению, это негативно влияет на удобочитаемость (поскольку это не специальная escape-последовательность в XML, Android Studio не выделяет ее).
Не включайте новую строку или любые пробелы после любой из этих escape-последовательностей, так как это будет интерпретироваться как дополнительное пространство.
Источник
Как добавить разрыв строки в Android TextView?
Я пытаюсь добавить разрыв строки в TextView.
Я попытался предложить n, но это ничего не делает. Вот как я устанавливаю свои тексты.
Это моя строка: some test line 1 n some test line 2
это должно выглядеть так:
но это выглядит так: some test line 1 some test line 2 .
Я что-то пропустила?
21 ответов
\n работает для меня, такой:
поэтому необходимо обернуть CDATA и добавить разрывы внутри как HTML-теги
спасибо всем за помощь!
Android версии 1.6 не распознает \r\n. Вместо этого используйте: System.метод getproperty («линии.разделитель»)
Linebreaks (\n) только работа, если вы поместите значение ресурса строки в кавычки, как это:
он не будет делать linebreaks, если вы поместите его без кавычек, как это:
да, это так просто.
пробовал все вышесказанное, сделал некоторые собственные исследования, в результате чего следующее решение для рендеринга escape-символов linefeed:
используя метод replace, вам нужно отфильтровать бежал linefeeds (например, ‘\\n’)
только тогда каждый экземпляр символов побега строки ‘\n’ получает визуализацию в фактический linefeed
для этого примера я использовал базу данных NoSQL сценариев Google Apps (ScriptDb) с данными в формате JSON.
это сработало для меня
это сработало для меня, может быть, кто-то найдет это полезным:
есть два способа обойти это. Если вы используете строку в качестве необработанной строки, вам нужно использовать новую строку характер. Если вы используете его как html, например, разбирая его с помощью Html.fromString , второй вариант лучше.
1) символ перевода строки \n
2) перевод строки в HTML теге
или
Используется Android Studio 0.8.9. Единственный способ работал для меня, используя \n . Ни упаковка с CDATA, ни
или
работали.
Если вы используете XML для объявления вашего TextView use android:singleLine = «false» или в Java, используйте txtSubTitle.setSingleLine(false);
Я использую следующий:
очень просто: используйте «\n»
\n соответствует ASCII char 0xA, который является » LF » или line feed
\r соответствует ASCII char 0xD, который является » CR » или возврат каретки
это восходит к самым первым пишущим машинам, где вы можете выбрать только подачу строки (и введите только строку ниже) или подачу строки + возврат каретки (который также перемещается в начало строки)
на Android / java \n соответствует возврату каретки + line feed, как вы бы в противном случае просто «перезаписать» ту же строку
попробуйте дважды проверить свои локализации. Возможно, вы пытаетесь отредактировать один файл (локализацию), но на самом деле используете другую программу,как и в моем случае. Системный язык по умолчанию-русский, в то время как я пытаюсь редактировать английскую локализацию.
в моем случае рабочим решением является использование» \n » в качестве разделителя строк:
Также вы можете добавить «
» вместо \n.
это HTML-код для
и затем вы можете добавить текст в TexView:
вы также можете использовать строковый редактор Android Studio, он автоматически генерирует линейные тормоза и тому подобное.
As Html.fromHtml устарел я просто использовал этот код, чтобы получить String2 в следующей строке.
Я нашел другой способ: Необходимо добавить » android: maxWidth= «40dp» атрибут». Конечно, это может не работать идеально, но это дает разрыв линии.
самый простой способ сделать это-перейти к значениям / строкам (в папке ресурсов)
объявить там строку:
и в вашем конкретном xml-файле просто вызовите строку, как
\n не работал на меня. Я смог исправить эту проблему, изменив xml на text и построив TextView text свойство, как показано ниже.
надеюсь, это поможет тем, кто сказал, что \n не работал для них.
Я читаю свой текст из файла, поэтому я взял немного другой подход, так как добавление \n в файл привело к появлению \n в тексте.
может быть, вы можете поставить lf в текст, но он не отображается? Убедитесь, что у вас достаточно высоты для управления. Например:
Источник
Как добавить разрыв строки в Android TextView?
Я пытаюсь добавить разрыв строки в TextView.
Я попробовал \ n, но это ничего не делает. Вот как я устанавливаю свои тексты.
Это моя строка: some test line 1 \n some test line 2
Он должен выглядеть так:
Но это выглядит так: в some test line 1 some test line 2 .
Я что-то упускаю?
\r\n работает для меня, вот так:
Поэтому необходимо обернуть в CDATA и сломаться внутри как html-теги
Спасибо за вашу помощь!
Android версии 1.6 не распознает \ r \ n. Вместо этого используйте: System.getProperty («line.separator»)
Linebreaks (\ n) работают только в том случае, если вы помещаете значение строки в кавычки следующим образом:
Это не приведет к разрыву строк, если вы поместите его без кавычек следующим образом:
Да, это так просто.
Пробовал все вышесказанное, сделал некоторые исследования моих собственных, что привело к следующему решению для рендеринга штрих-кода linefeed:
Используя метод замены, вам необходимо отфильтровать экранированные строки (например, «\\ n»)
Только тогда каждый экземпляр строки «\ n» escape-символов выводится в фактический поток строк
В этом примере я использовал базу данных noSQL для сценариев Google Apps (ScriptDb) с форматированными данными JSON.
Это сработало для меня
Существует два пути. Если вы используете свою строку как необработанную строку, вам нужно использовать символ новой строки. Если вы используете его как html, например, путем разбора его с помощью Html.fromString , второй вариант лучше.
1) Символ новой строки \n
2) Html newline tag или
Это сработало для меня, может быть, кто-то узнает об этом:
Используется Android Studio 0.8.9. Единственный способ, который работал для меня, – \n . Ни упаковка с CDATA, ни работа или
работали.
Если вы используете XML для объявления вашего TextView, используйте android:singleLine = «false» или в Java, используйте txtSubTitle.setSingleLine(false);
Я использую следующее:
Попробуйте дважды проверить свои локализации. Возможно, вы пытаетесь отредактировать один файл (локализация), но на самом деле используете другое приложение, как в моем случае . Системный язык по умолчанию – русский, а я пытаюсь редактировать английскую локализацию.
В моем случае рабочим решением является использование «\ n» в качестве разделителя строк:
Очень просто: используйте «\ n»
\ N соответствует ASCII char 0xA, который является «LF» или линией
\ R соответствует ASCII char 0xD, который является «CR» или возвратом каретки
Это датируется самыми первыми пишущими машинами, где вы можете выбрать только линию подачи (и введите только строку ниже) или строку + возврат каретки (которая также перемещается в начало строки)
На Android / java \ n соответствует возврату каретки + линии, поскольку в противном случае вы просто переписывали бы ту же строку
Также вы можете добавить «
» Вместо \ n.
Это код с экранированным HTML для
И затем вы можете добавить текст в TexView:
Вы также можете использовать String-Editor для Android Studio, он автоматически генерирует линейные тормоза и прочее подобное …
Я нашел другой метод: необходимо добавить атрибут » android: maxWidth =» 40dp « «. Конечно, это может не сработать отлично, но это дает разрыв строки.
Источник
Android textview не поддерживает разрыв строки
Я создаю настраиваемый вид программно, который отображает текст, который анализируется из XML файла. Текст длинный и содержит символ «/n» для разрывов силовой линии. По какой-то причине текстовое представление отображает /n, и никаких разрывов строк нет. Вот мой код:
Текст из файла XML выглядит следующим образом:
Он должен отображаться как таковой;
Есть ли настройки, которые мне не хватает?
UPDATE
\ r\n работает, если я жестко кодирую его в свое представление. то есть:
На самом деле \n также работает, если я его жестко кодирую:
FYI
это возвращает строку «/n», поэтому нет необходимости преобразовывать в «/r/n».
К сожалению, мои данные происходят в XML файле, который анализируется и сохраняется в хэш-карте. Я попробовал следующее:
\n не заменяется на \r\n. Может быть, потому, что я перехожу из объекта в String?
ОТВЕТЫ
Ответ 1
У меня была такая же проблема при тех же обстоятельствах. Решение довольно прямолинейно.
Когда вы думаете об этом, так как виджет textview отображает текст с буквальными значениями «\n» , тогда строка, которую он задает, должна хранить каждый «\n» , как «\\n». Таким образом, когда ваша строка XML считывается и сохраняется, все вхождения «\n» экранируются, чтобы сохранить этот текст в виде буквального текста.
В любом случае, все, что вам нужно сделать, это:
Работает для меня!
Ответ 2
Для разрыва строки вы используете в текстовом виде в текстовом виде так.
Настало время \r\n для всех хороших людей \r\n прийти на помощь своей вечеринке \r\n
Ответ 3
Пробовал все вышеперечисленное, сделал некоторые исследования моего собственного, в результате получилось следующее решение для визуализации строк вывода строки:
string = string.replace( «\\n», System.getProperty( «line.separator» ));
1), используя метод замены, который необходимо фильтровать экранированные строки (например, ‘\\n’)
2) только тогда каждый экземпляр строки «\n» escape-символов передается в фактический перевод строки
В этом примере я использовал базу данных noSQL для сценариев Google Apps (ScriptDb) с форматированными данными JSON.
Ответ 4
У меня также была эта проблема, и я нашел ПОСТОЯННОЕ РЕШЕНИЕ, если вы устанавливаете текст из XML-ресурсов (я знаю, что это не то же самое, что OP, но его стоит знать)
Нет необходимости добавлять разрывы строк вручную, просто добавьте текст, поскольку он BUT цитируется.
Ответ 5
вашему серверу необходимо отправить FirstLine
lineAfterLineBreak
Ответ 6
Чтобы заставить строку прорваться через XML вашего текстового представления, вам нужно использовать \r\n вместо \n.
Итак, теперь ваш код в XML становится
Или если вы хотите сделать это программно, то в вашем Java-коде:
Вы также можете объявить текст как значение ресурса строки, например:
Еще один простой способ сделать это — изменить атрибут по умолчанию TextView в вашем XML файле.
Источник