如何在 Xamarin.Forms 的标签中给单个单词加下划线?
How to underline single words in a label in Xamarin.Forms?
我想在 Xamarin.Forms 中为标签文本添加下划线。我找不到任何合适的解决方案。我发现 Xamarin 中的文本没有下划线 属性,因此我们可以为该行添加一个 BoxView
,而不是像这样:
<StackLayout Grid.Row="0" Padding="0" VerticalOptions="Center">
<Label Text="Terms and Conditions" />
<BoxView BackgroundColor="White" HeightRequest="1" Margin="0,-8,0,0" />
</StackLayout>
但这也不是一个合适的解决方案,因为它会与整个 StackView
划清界限。我想在上面的代码中只强调部分文本,例如单词 "Terms"。
您可以为此使用 Effects。
创建 UnderlineEffect
使用:
Android
var tv = (TextView)Control;
tv.PaintFlags = tv.PaintFlags | PaintFlags.UnderlineText;
iOS
您必须使用可变字符串,如下所示:
编辑
我写了一篇博客post。享受:http://smstuebe.de/2016/08/29/underlinedlabel.xamarin.forms/
我想在 Xamarin.Forms 中为标签文本添加下划线。我找不到任何合适的解决方案。我发现 Xamarin 中的文本没有下划线 属性,因此我们可以为该行添加一个 BoxView
,而不是像这样:
<StackLayout Grid.Row="0" Padding="0" VerticalOptions="Center">
<Label Text="Terms and Conditions" />
<BoxView BackgroundColor="White" HeightRequest="1" Margin="0,-8,0,0" />
</StackLayout>
但这也不是一个合适的解决方案,因为它会与整个 StackView
划清界限。我想在上面的代码中只强调部分文本,例如单词 "Terms"。
您可以为此使用 Effects。
创建 UnderlineEffect
使用:
Android
var tv = (TextView)Control;
tv.PaintFlags = tv.PaintFlags | PaintFlags.UnderlineText;
iOS
您必须使用可变字符串,如下所示:
编辑
我写了一篇博客post。享受:http://smstuebe.de/2016/08/29/underlinedlabel.xamarin.forms/