第三章:深入文本(5)

简介:

字体大小和属性
默认情况下,Label使用由每个平台定义的系统字体,但Label也定义了可用于更改此字体的多个属性。 标签是与这些字体相关的属性只有两个类之一; 按钮是另一个。
使您可以更改此字体的属性是:

字符串类型的FontFamily
类型double的FontSize
FontAttributes类型的FontAttributes,包含三个成员的枚举:无,粗体,和斜体 

还有一个字体属性和相应的字体结构,但这是弃用,不应该使用。
这些使用最难的是FontFamily。 从理论上讲,你可以将它设置为“Times Roman”这样的字体系列名称,但只有在特定平台上支持该特定字体系列时才能使用。 由于这个原因,你可能会使用FontFamily与Device.OnPlatform连接,你需要知道每个平台支持的字体名称。
FontSize属性也有点尴尬。 你需要一个粗略的表示字体高度的数字,但是你应该使用什么数字? 这是一个棘手的问题,因此,当选择一个合适的字体大小的工具可以使用时,它将被降级到第5章“处理大小”。
然而在那之前,Device类有一个名为GetNamedSize的静态方法。 该方法需要NamedSize枚举的成员:

Default
Micro
Small
Medium
Large 

GetNamedSize还需要使用此字体大小的类的类型,该参数将是typeof(Label)或typeof(Button)。 您也可以使用Label或Button本身的实例而不是Type,但是这个选项通常不太方便。
正如你将在本章后面看到的,NamedSize.Medium成员不一定返回与NamedSize.Default相同的大小。
FontAttributes是三个与字体相关的属性中使用最少的。 您可以指定粗体或斜体或两者,因为这个小代码片段(从上一章的Greetings程序改编而来)演示:

点击(此处)折叠或打开

class GreetingsPage : ContentPage
{
    public GreetingsPage()
    {
        Content = new Label
        {
            Text = "Greetings, Xamarin.Forms!",
            HorizontalOptions = LayoutOptions.Center,
            VerticalOptions = LayoutOptions.Center,
            FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
            FontAttributes = FontAttributes.Bold | FontAttributes.Italic
        };
    }
} 

这里是在三个平台上:
2018_02_04_211945
Windows 10 Mobile屏幕不够宽,无法在单行显示文本。

目录
相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
【Python机器学习】文本特征提取及文本向量化讲解和实战(图文解释 附源码)
439 0
|
资源调度
一天掌握latex论文编辑,从标题作者,段落,数学公式,图片,图表,到参考文献全流程
一天掌握latex论文编辑,从标题作者,段落,数学公式,图片,图表,到参考文献全流程
735 0
|
2月前
|
自然语言处理 资源调度 前端开发
前端大模型入门(四):不同文本分割器对比和效果展示-教你如何根据场景选择合适的长文本分割方式
本文详细介绍了五种Langchain文本分割器:`CharacterTextSplitter`、`RecursiveCharacterTextSplitter`、`TokenTextSplitter`、`MarkdownTextSplitter` 和 `LatexTextSplitter`,从原理、优缺点及适用场景等方面进行了对比分析,旨在帮助开发者选择最适合当前需求的文本分割工具,提高大模型应用的处理效率和效果。
167 1
|
7月前
|
自然语言处理 语音技术
语言大模型和文本大模型的区别
【2月更文挑战第16天】语言大模型和文本大模型的区别
171 2
语言大模型和文本大模型的区别
|
前端开发 开发者
Web前端开发笔记——第二章 HTML语言 第三节 文本格式化标签
Web前端开发笔记——第二章 HTML语言 第三节 文本格式化标签
Web前端开发笔记——第二章 HTML语言 第三节 文本格式化标签
|
移动开发 前端开发 HTML5
Web前端开发笔记——第二章 HTML语言 第五节 图像标签
Web前端开发笔记——第二章 HTML语言 第五节 图像标签
Web前端开发笔记——第二章 HTML语言 第五节 图像标签
|
自然语言处理 算法
如何用3行代码简单实现文本情感分析
如何用3行代码简单实现文本情感分析
372 0
|
机器学习/深度学习 存储 自然语言处理
文本特征工程——下篇
文本特征工程——下篇
216 0
文本特征工程——下篇
|
机器学习/深度学习 自然语言处理 并行计算
长文本表示学习概述
摘要: "**如果**你愿意一层一层的剥开我的心·································**那么**你会坐牢的我跟你说"。自然语言就是这么神奇,句子中的长距离特征对于理解语义也非常关键,本文基于Tranformer、RNN、CNN、TCN分别概述近期学界对长句表示学习的诸多方法。 ## 1.长文本表示学习挑战 ​ NLP任务的特点和图像有极大的不同,上图展示了
2182 0
|
Android开发 iOS开发 Windows