Android-контейнер HTML - PullRequest
       7

Android-контейнер HTML

1 голос
/ 23 декабря 2009

Кто-нибудь знает, возможно ли отобразить диалог с HTML-кодом на устройстве Android? Я был бы более чем благодарен за любой совет по этому поводу.

Я хочу разработать HTML-макет и отобразить его в диалоговом окне внутри пользовательского приложения.

Спасибо!

Ответы [ 3 ]

7 голосов
/ 30 июня 2010

WebView, безусловно, является вариантом, так как это, по сути, веб-браузер в коробке, но, как сказал Марк, он немного тяжелый и вызовет заметную задержку.

TextViews также может работать с базовым HTML, и если вы просто ищете какое-то простое форматирование (полужирный, курсив, цвет), то использование стандартного текстового представления - это то, что вам нужно.

Важно знать разницу между String и CharSequence (и Spannable) - строки не имеют поддержки HTML, и если вы извлекаете строку из ресурсов (через Context.getString ()), она автоматически удаляется весь код HTML. Поэтому вам нужно использовать Context.getText ()).

В любом случае, вот пример:

new AlertDialog.Builder(this)
   .setTitle("HTML Example")
   .setMessage(Html.fromHtml("<b>Bold text</b> <i>and italics</i>"))
   .setPositiveButton("Sweet")
   .create()
   .show();
3 голосов
/ 23 декабря 2009

Расширяя ответ JRL, вы можете использовать AlertDialog.Builder и его setView(), чтобы поставить WebView в основной области диалога. Однако обратите внимание, что если вы не используете WebView где-либо еще в вашем приложении, при первом его использовании потребуется приблизительно секунда для инициализации, что может сделать ваш диалог вялым.

Если все, что вам нужно, это элементарное форматирование HTML (полужирный, курсив, цвет), TextView занимает Spannable, а класс Html в Android может преобразовывать исходный HTML-код в Spannable для использования с TextView.

1 голос
/ 23 декабря 2009

Не уверен, что вы пытаетесь сделать, но WebView обрабатывает HTML.

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