Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6513456
  • 博文数量: 915
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8846
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(915)

文章存档

2022年(9)

2021年(13)

2020年(10)

2019年(40)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类: Android平台

2018-02-05 20:37:49

字体大小和属性
默认情况下,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程序改编而来)演示:


点击(此处)折叠或打开

  1. class GreetingsPage : ContentPage
  2. {
  3.     public GreetingsPage()
  4.     {
  5.         Content = new Label
  6.         {
  7.             Text = "Greetings, Xamarin.Forms!",
  8.             HorizontalOptions = LayoutOptions.Center,
  9.             VerticalOptions = LayoutOptions.Center,
  10.             FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)),
  11.             FontAttributes = FontAttributes.Bold | FontAttributes.Italic
  12.         };
  13.     }
  14. }
这里是在三个平台上:

Windows 10 Mobile屏幕不够宽,无法在单行显示文本。
阅读(2555) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~