显示带有HTML标记的文本

显示带有HTML标记的文本,html,xamarin,webview,xamarin.android,label,Html,Xamarin,Webview,Xamarin.android,Label,我需要在页面上显示HTML文本。尝试使用WebView,但它不能适应HTML内容高度,它只有HeightRequest。我为Label创建了渲染器,以便在其中启用HTML标记 public class HtmlLabelRenderer : LabelRenderer { protected override void OnElementChanged(ElementChangedEventArgs<Label> e) { base.OnElemen

我需要在页面上显示
HTML
文本。尝试使用WebView,但它不能适应
HTML
内容高度,它只有
HeightRequest
。我为
Label
创建了渲染器,以便在其中启用
HTML
标记

public class HtmlLabelRenderer : LabelRenderer
{

    protected override void OnElementChanged(ElementChangedEventArgs<Label> e)
    {
        base.OnElementChanged(e);   
        Control?.SetText(Html.FromHtml(Element.Text), TextView.BufferType.Spannable);
    }

    protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
    {
        base.OnElementPropertyChanged(sender, e);

        if (e.PropertyName == Label.TextProperty.PropertyName)
        {
            Control?.SetText(Html.FromHtml(Element.Text), TextView.BufferType.Spannable);
        }
    }
}
公共类HtmlLabelRenderer:LabelRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
控件?.SetText(Html.FromHtml(Element.Text),TextView.BufferType.Spannable);
}
受保护的覆盖无效OnElementPropertyChanged(对象发送方,PropertyChangedEventArgs e)
{
base.OnElementPropertyChanged(发送方,e);
if(e.PropertyName==Label.TextProperty.PropertyName)
{
控件?.SetText(Html.FromHtml(Element.Text),TextView.BufferType.Spannable);
}
}
}
它可以工作,但是当我的
HTML
文本具有带有
text align:right
的标记时,
htmlabel
不会显示它。使用WebView时,带有
text align:right
的标记将正确显示


如何更新
htmlabel
以正确显示带有
text align:right
的标记?

TextView不支持所有HTML标记

根据需要,支持以下标签:

<a href="...">
<b>
<big>
<blockquote>
<br>
<cite>
<dfn>
<div align="...">
<em>
<font size="..." color="..." face="...">
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<i>
<img src="...">
<p>
<small>
<strike>
<strong>
<sub>
<sup>
<tt>
<u>
文本对齐
应该是
结束
,而不是
。适用于
p、h1、h2、h3、h4、h5、h6、div、blockquote