是否可以在 Xamarin 窗体中上标标签?在HTML中,我会使用<sup>
标签。我想上标文本"min"。所以我可以让文本"5分钟"加上"min"部分上标。
> 将Label
的TextType
属性设置为Html
。
例如,要生成:x2+ y
在 XAML 中:
<Label Text="x<sup><small>2</small></sup> + y" TextType="Html"/>
或
<Label TextType="Html">
<![CDATA[
x<sup><small>2</small></sup> + y
]]>
</Label>
在 C# 中:
MyStackLayout.Children.Add(
new Label {
TextType=TextType.Html,
Text="x<sup><small>2</small></sup> + y"
});
请注意,<小>标记是可选的。小>
有关详细信息,请参阅Label
文档的"显示 HTML"部分:Xamarin.Forms 标签:显示 HTML
感谢 Jason 使用FormattedText
属性的想法。但是由于它不支持文本的绑定,我将 2 个标签放在一个StackLayout
中,上标文本的 mirco 字体大小:
<StackLayout Orientation="Horizontal" Spacing="0">
<Label Text="{Binding Minutes}">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="fonts/chsans/MyFont-Bold.ttf#MyFont-Bold" />
</OnPlatform>
</Label.FontFamily>
</Label>
<Label Text="min" FontSize="Micro">
<Label.FontFamily>
<OnPlatform x:TypeArguments="x:String">
<On Platform="Android" Value="fonts/chsans/MyFont-Regular.ttf#MyFont-Regular" />
</OnPlatform>
</Label.FontFamily>
</Label>
</StackLayout>