Xamarin 表单:如何增加具有 TextType="Html" 的标签的字体大小?
Xamarin forms: How to increase the fontsize of label having TextType="Html"?
我的应用程序 UI 中有一个标签需要 HTML 数据。所以我为那个标签设置了 TextType="Html"
属性 。在小屏幕设备中,我需要 16,对于大屏幕设备,我需要 32,因为它是字体大小。但是由于 TextType="Html"
属性.
标签字体大小没有变化
XAML 标签代码
<Label
x:Name="message_label"
VerticalOptions="Start"
VerticalTextAlignment="Center"
TextType="Html"
TextColor="Black"
Margin="5"
FontSize="Medium">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="iOS" Value="MouseMemoiresRegular" />
<On Platform="Android" Value="MouseMemoiresRegular.ttf#MouseMemoiresRegular" />
<On Platform="UWP" Value="Assets/Fonts/MouseMemoiresRegular.ttf#MouseMemoiresRegular" />
</OnPlatform>
</Label.FontFamily>
<Label.FontSize>
<OnIdiom x:TypeArguments="x:Double">
<OnIdiom.Phone>16</OnIdiom.Phone>
<OnIdiom.Tablet>32</OnIdiom.Tablet>
</OnIdiom>
</Label.FontSize>
</Label>
那么在这种情况下如何增加字体大小?
如果你想把html放在label里面,并且想加大label的字体大小,我建议你可以用Xam.Plugin.HtmlLabel.
首先,您可以在项目中安装Xam.Plugin.HtmlLabel,
然后在不同的平台上渲染。
iOS: AppDelegate.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init();
Android: MainActivity.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init(this, bundle);
UWP:App.xaml.csenter code here
var rendererAssemblies = new[] { typeof(HtmlLabelRenderer).GetTypeInfo().Assembly };
Xamarin.Forms.Forms.Init(e, rendererAssemblies);
HtmlLabelRenderer.Initialize();
不如这样使用 HtmlLable:
<htmllabel:HtmlLabel FontSize="12" Text="<h1>Hello World!</h1><br/>SecondLine" />
<htmllabel:HtmlLabel FontSize="20" Text="<h1>Hello World!</h1><br/>SecondLine" />
您可以在 htmllabel 中更改不同的字体大小。
我的应用程序 UI 中有一个标签需要 HTML 数据。所以我为那个标签设置了 TextType="Html"
属性 。在小屏幕设备中,我需要 16,对于大屏幕设备,我需要 32,因为它是字体大小。但是由于 TextType="Html"
属性.
XAML 标签代码
<Label
x:Name="message_label"
VerticalOptions="Start"
VerticalTextAlignment="Center"
TextType="Html"
TextColor="Black"
Margin="5"
FontSize="Medium">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="iOS" Value="MouseMemoiresRegular" />
<On Platform="Android" Value="MouseMemoiresRegular.ttf#MouseMemoiresRegular" />
<On Platform="UWP" Value="Assets/Fonts/MouseMemoiresRegular.ttf#MouseMemoiresRegular" />
</OnPlatform>
</Label.FontFamily>
<Label.FontSize>
<OnIdiom x:TypeArguments="x:Double">
<OnIdiom.Phone>16</OnIdiom.Phone>
<OnIdiom.Tablet>32</OnIdiom.Tablet>
</OnIdiom>
</Label.FontSize>
</Label>
那么在这种情况下如何增加字体大小?
如果你想把html放在label里面,并且想加大label的字体大小,我建议你可以用Xam.Plugin.HtmlLabel.
首先,您可以在项目中安装Xam.Plugin.HtmlLabel,
然后在不同的平台上渲染。
iOS: AppDelegate.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init();
Android: MainActivity.cs
HtmlLabelRenderer.Initialize();
global::Xamarin.Forms.Forms.Init(this, bundle);
UWP:App.xaml.csenter code here
var rendererAssemblies = new[] { typeof(HtmlLabelRenderer).GetTypeInfo().Assembly };
Xamarin.Forms.Forms.Init(e, rendererAssemblies);
HtmlLabelRenderer.Initialize();
不如这样使用 HtmlLable:
<htmllabel:HtmlLabel FontSize="12" Text="<h1>Hello World!</h1><br/>SecondLine" />
<htmllabel:HtmlLabel FontSize="20" Text="<h1>Hello World!</h1><br/>SecondLine" />
您可以在 htmllabel 中更改不同的字体大小。