Какие теги HTML поддерживаются в Android TextView? - PullRequest
53 голосов
/ 18 марта 2012

Класс Android TextView может отображать форматированный текст с помощью HTML.fromHtml (), как описано, например, здесь: HTML-теги в строке для TextView

Класс TextView может работать только с небольшим подмножествомHTML, но я не знаю, какие теги и атрибуты поддерживаются, а какие нет.Краткое изложение, приведенное здесь: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html не похоже на правильное.Напримерне работает у меня с Android 2.2

Ответы [ 4 ]

25 голосов
/ 21 апреля 2012

Я заметил, что эта статья:

https://web.archive.org/web/20171118200650/http://daniel-codes.blogspot.com/2011/04/html-in-textviews.html

перечисляет

как поддерживаемую Html.fromHtml (), но она не показывает поддержку "align"attribute.

(Другие поддерживаемые атрибуты показаны для тегов на этой странице.)

Автор говорит, что он создал ссылку, посмотрев код в репозиториях git для Android.

Редактировать: Со временем список поддерживаемых тегов изменился.См. Этот более поздний пост, например: http://www.grokkingandroid.com/android-quick-tip-formatting-text-with-html-fromhtml/.

Исходя из обеих этих статей, я бы предположил, что изучение исходного кода представляется наиболее надежным способом получения последней информации.

24 голосов
/ 17 июля 2017

Посмотрели все, кто его ищет.

Дата: июль 2017

Источник: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/text/Html.java

Html.fromHtml поддерживает:

  • р
  • уль
  • Li
  • ДИВ
  • диапазон
  • сильный
  • б
  • ет
  • процитировать
  • д.ф.н.
  • я
  • большой
  • маленький
  • шрифт
  • 1039 * BLOCKQUOTE *
  • тт
  • а
  • и
  • дель
  • S
  • удар
  • SUP
  • юг
  • h1
  • h2
  • h3
  • h4
  • h5
  • h6
  • 1069 * IMG *
  • ш
9 голосов
/ 19 августа 2016

Лучший подход к использованию разделов CData для строки в файле strings.xml, чтобы получить фактическое отображение html-содержимого в TextView, приведенный ниже фрагмент кода, даст вам правильную идею.

// в файле string.xml

<string name="welcome_text"><![CDATA[<b>Welcome,</b> to the forthetyroprogrammers blog Logged in as:]]> %1$s.</string>

Java-код

String welcomStr=String.format(getString(R.string.welcome_text),username);
tvWelcomeUser.setText(Html.fromHtml(welcomStr));

Раздел CData в тексте строки сохраняет данные тега html без изменений даже после форматирования текста с использованием метода String.format. Итак, Html.fromHtml (str) работает отлично, и вы увидите жирный текст в приветственном сообщении.

Выход:

Добро пожаловать в ваш любимый музыкальный магазин приложений. Вы вошли как: имя пользователя

4 голосов
/ 24 января 2017

Поскольку он постоянно обновляется, лучший способ отследить, какие теги HTML поддерживаются в Android, - это проверить исходный код Html.java

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...