Xamarin.Forms 用户界面——控件——Text——Label
标签PDF用于离线使用下载PDF示例代码:文本相关API:标签API让我们知道你对此的感受在Xamarin.Forms中显示文字该Label视图用于显示单行和多行的文本。标签可以有自定义字体(系列,大小和选项)和彩色文本。本文包含以下主题:截断和包裹 -
·
标签
在Xamarin.Forms中显示文字
该Label
视图用于显示单行和多行的文本。标签可以有自定义字体(系列,大小和选项)和彩色文本。本文包含以下主题:
样式标签
以下部分介绍Label
了每个实例的手动设置属性。请注意,属性集可以分组为一种始终应用于一个或多个视图的样式。这可以增加代码的可读性,并使设计更改更容易实现。有关详细信息,请参阅样式。
截断和包裹
可以设置标签来处理由LineBreakMode
属性公开的几种方式之一不能适合一行的文本。LineBreakMode
列举了以下选项:
- HeadTruncation - 截断文本的头部,显示结束。
- CharacterWrap - 将文本转换为字符边界的新行。
- MiddleTruncation - 显示文本的开头和结尾,中间用省略号替代。
- NoWrap - 不包装文本,只显示一个文本可以适合一行。
- 尾部截断 - 显示文本的开头,截断结尾。
- WordWrap - 在文字边界包装文本。
字形
有关详细信息,请参阅使用字体。
颜色
Label
s可以设置为通过bindable TextColor
属性使用自定义文本颜色。
需要特别注意确保每个平台上的颜色可用。因为每个平台的文本和背景色都有不同的默认值,所以您需要小心选择每个平台上的默认值。
使用以下代码设置标签的文字颜色:
代码:
public partial class LabelPage : ContentPage
{
public LabelPage ()
{
InitializeComponent ();
var layout = new StackLayout { Padding = new Thickness(5,10) };
this.Content = layout;
var label = new Label { Text="This is a label.", TextColor = Color.FromHex("#77d065"), FontSize = 20 };
layout.Children.Add(label);
}
}
在XAML中:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TextSample.LabelPage"
Title="Label Demo">
<ContentPage.Content>
<StackLayout Padding="5,10">
<Label TextColor="#77d065" FontSize = "20" Text="This is a label." />
</StackLayout>
</ContentPage.Content>
</ContentPage>
格式文本
标签公开一个FormattedText
属性,允许您在同一视图中呈现多种字体和颜色的文本。
该FormattedText
属性的类型的FormattedString
。格式化的字符串由一个或多个Span
s组成,每个s具有以下属性:
- BackgroundColor - 可用于设置背景颜色,例如实现荧光笔效果。
- FontAttributes - 可以设置为粗体,斜体或两者。
- FontFamily - 设置要使用的字体。
- FontSize - 设置文本的大小。
- ForegroundColor - 设置文本的颜色。
- 文本 - 要显示的文本。
以下C#代码演示了一个标签,其中第一个字是粗体,最后一个字是红色:
public partial class LabelPage : ContentPage
{
public LabelPage ()
{
InitializeComponent ();
var layout = new StackLayout { Padding = new Thickness(5,10) };
this.Content = layout;
var label = new Label { FontSize = 20 };
var s = new FormattedString ();
s.Spans.Add (new Span{ Text = "Red Bold", FontAttributes = FontAttributes.Bold });
s.Spans.Add (new Span{ Text = "Default" });
s.Spans.Add (new Span{ Text = "italic small", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), FontAttributes = FontAttributes.Italic});
label.FormattedText = s;
layout.Children.Add(label);
}
}
在XAML中:
<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="TextSample.LabelPage"
Title="Label Demo">
<ContentPage.Content>
<StackLayout Padding="5,10">
<Label FontSize=20>
<Label.FormattedText>
<FormattedString>
<Span Text="Red Bold" ForegroundColor="Red" FontAttributes="Bold" />
<Span Text="Default" />
<Span Text="italic small" FontAttributes="Italic" FontSize="Small" />
</FormattedString>
</Label.FormattedText>
</Label>
</StackLayout>
</ContentPage.Content>
</ContentPage>
更多推荐
已为社区贡献3条内容
所有评论(0)