Какие HTML-теги поддерживаются Android TextView?
Класс Android TextView может отображать форматированный текст через HTML.fromHtml(), как описано здесь: HTML-теги в строке для TextView
Класс TextView может работать только с небольшим подмножеством HTML, но я не знаю, какие теги и атрибуты поддерживаются, а какие нет. Сводка, приведенная здесь: http://commonsware.com/blog/Android/2010/05/26/html-tags-supported-by-textview.html, кажется, не верна. Например. < div align = "..." → НЕ работает для меня с помощью Android 2.2
Ответы
Ответ 1
Я заметил, что эта статья:
http://daniel-codes.blogspot.com/2011/04/html-in-textviews.html
списки <div> как поддерживаемый Html.fromHtml(), но не поддерживает поддержку атрибута align.
(Другие поддерживаемые атрибуты показаны для тегов на этой странице.)
Автор говорит, что он построил ссылку, просмотрев код в репозиториях git для Android.
Изменить:
Со временем появляется список поддерживаемых тегов. См. Этот более поздний пост, например: http://www.grokkingandroid.com/android-quick-tip-formatting-text-with-html-fromhtml/.
Основываясь на обеих этих статьях, я бы предположил, что изучение исходного кода представляется самым надежным способом получения последней информации.
Ответ 2
Посмотрел, все для его поиска.
Дата: июль 2017 года
Источник: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/text/Html.java
Html.fromHtml поддерживает:
- р
- уль
- Li
- DIV
- диапазон
- сильный
- б
- эм
- процитировать
- д.ф.н.
- я
- большой
- маленький
- шрифта
- BLOCKQUOTE
- тт
- а
- и
- дель
- s
- Забастовка
- вир
- суб
- h1
- h2
- h3
- h4
- h5
- h6
- IMG
- br (Спасибо Carlo Conserva за вклад)
Ответ 3
Лучший подход к использованию разделов 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
Поскольку он постоянно обновляется, лучший способ отслеживать, какие HTML-теги поддерживаются в Android, - проверить исходный код Html.java
Ответ 5
if ( android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
{
tvDocument.setText(Html.fromHtml(bodyData,Html.FROM_HTML_MODE_LEGACY));
}
else {
tvDocument.setText(Html.fromHtml(bodyData));
}
введите ссылку здесь