【问题标题】:Xamarin Forms - WinPhone - Formatted textXamarin Forms - WinPhone - 格式化文本
【发布时间】:2017-03-09 18:34:12
【问题描述】:

我的应用需要在 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 不同的解决方案...欢迎!

【问题讨论】:

    标签: html xamarin webview xamarin.forms xamarin.winphone


    【解决方案1】:

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

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

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

    希望对您有所帮助! :)

    【讨论】:

    • 链接对我来说是必需的。如果您在标签中使用“target="_blank",则该网站将在新的浏览器窗口中打开
    猜你喜欢
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多