当我们在Label中绑定html文本时,android中不会呈现颜色。它只显示黑色。但在IOS中运行良好。下面提到的代码片段,
查看代码:
<Label Text="{Description}" TextType="Html" />
Description = System.Net.WebUtility.HtmlDecode(sampleHtmlText);
ViewModel:
string sampleHtmlText = @"<p><br></p><p><b style=""font-size: 14px; color: rgb(150, 185, 16);"">What does the plan provide?</b></p><p><br></p><p><span style=""font-size: 14px;"">The plan is extremely comprehensive.</span></p></p>";
在Android中,即使我们将Type设置为Html,内联CSS样式也不会被呈现。所以我们可以使用Nuget的插件HtmlLabelPlugin。
将其安装在每个Xamarin中。表单项目(共享项目和iOS、Android(。
iOS:AppDelegate.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init();
Android:MainActivity.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init(this, bundle);
在xaml中
xmlns:htmlLabel="clr-namespace:LabelHtml.Forms.Plugin.Abstractions;assembly=HtmlLabel.Forms.Plugin"
<htmlLabel:HtmlLabel x:Name="label"/>
string sampleHtmlText = @"<span style='color: green'>What does the plan provide?</span>";
label.Text = sampleHtmlText;