Xamarin Forms - WinPhone - Форматированный текст

Мое приложение должно работать на Android, iOS и WinPhone 8.1. У него должна быть страница с длинным текстом, включающим много форматов:

жирный шрифт
список
ссылка (http, почта, телефон)

Поскольку он должен работать на всех трех платформах, я попытался создать строку HTML, чтобы отправить ее в WebView следующим образом:

MyWebView.Source = new HtmlWebViewSource {Html = stringHtml }; 

Так что я могу использовать <b> для полужирного шрифта, <ul> для маркированных списков, <a> для ссылок.

Поскольку мне также нужен нестандартный шрифт и определенный размер, в моей строке html есть новый стиль со всей этой информацией.
Он работает .... но с двумя проблемами на Windows Phone:

  1. весь размер шрифта маркированного списка действительно меньше, чем остальной текст
  2. все страницы показывают пустой веб-просмотр, но если я перезагружу его (много раз) или подожду 3/4 секунды, он покажет контент

Есть идеи об этих проблемах?

И если есть другое решение, отличное от WebView ... приветствую!


person R.Catania    schedule 27.10.2016    source источник


Ответы (1)


Xamarin.Forms включает свойство FormattedText в метку (это руководство должно помочь вам понять это: Xamarin.Forms FormattedText). Но есть некоторые вещи, которые нельзя сделать с его помощью, а именно:

  • FormattedText не имеет ссылок, но, если я не ошибаюсь, если вы используете ссылки в WebView, они будут работать только в этом WebView, поэтому ссылка будет открыта в том же пространстве, что и ваш текст.
  • FormattedText не имеет маркированного списка. Вы можете обойти эту проблему, добавив символ маркера ASCII (в окнах: удерживайте ALT и нажмите цифру 7) и несколько пробелов для отступа абзаца.

Остальное, что вы хотите (полужирный, курсив, изменение цвета и т. Д.) FormattedText имеет.

Надеюсь, поможет! :)

person Luccas Clezar    schedule 24.05.2017
comment
Ссылки мне нужны. А если в теге указать target = _blank, сайт откроется в новом окне браузера. - person R.Catania; 14.06.2017