0

我的应用需要在 Android、iOS 和 WinPhone 8.1 上运行。它需要有一个包含大量格式的长文本页面:

粗体
项目符号列表
链接(http、邮件、电话)

因为它必须在所有 3 个平台上运行,所以我尝试创建一个 HTML 字符串,以便将其发送到这样的WebView:

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

所以我可以<b>用于粗体、<ul>项目符号列表<a>和链接。

因为我还需要自定义字体和特定大小,所以在我的 html 字符串中有一个包含所有这些信息的新样式。
它可以工作....但在 Windows Phone 上有 2 个问题:

  1. 所有项目符号列表的字体大小都比其他文本小
  2. 所有页面都显示一个空白的 webview,但如果我重新加载它(很多次)或等待 3/4 秒,它就会显示内容

对这些问题有任何想法吗?

如果有另一种不同于 WebView 的解决方案......欢迎!

4

1 回答 1

0

Xamarin.Forms 在标签中包含一个FormattedText属性(本指南应该可以帮助您理解它:Xamarin.Forms FormattedText)。但是有些事情你想做却不能用它来做,这些是:

  • FormattedText 没有链接,但如果我没记错的话,如果您在 WebView 中使用链接,它们只能在该 WebView 中工作,因此链接将在与您的文本相同的空间中打开。
  • FormattedText 没有项目符号列表。您可以通过添加 ASCII 项目符号字符(在 Windows 中:按住 ALT 并按数字 7)和一些空格来缩进段落来解决这个问题。

您想要的其余部分(粗体、斜体、颜色变化等) FormattedText 都有。

希望能帮助到你!:)

于 2017-05-24T15:02:53.863 回答