当前位置:
首页 > 字体文章 > Android免费字体 Android字体修改,详解都在这里 |开始

Android免费字体 Android字体修改,详解都在这里 |开始

1. 开幕

因为Android字体相关的内容还蛮多的。有时候我们其实只需要调整属性就可以满足设计者的需求,或者是一个落后的计划(毕竟发布时间卡住了),有一些效果可以大致满足需求。

所以这篇文章首先会介绍Android下一些原生内置字体的一些基本概念和使用。

需要注意的是,有些内置字体仅对英文有效。

2. Android的默认字体

Android系统默认使用一种名为Robote的字体。 Robote本身是Google自己的字体格式。 Robote 字体在 Android 和 Chrome 操作系统上默认使用,也是 Google 视觉语言的推荐字体。

如果你想了解更多关于Robote的信息,你可以去Google的网站上查看。

通常情况下,Robote已经提供了多种选择,例如粗细、斜体等,但通常不能满足我们设计师的需求。

接下来我们看看当我们想要使用Android的一些内置字体时需要用到哪些属性。

3. 哪些属性会影响字体?

Android本身已经提供了一些修改字体样式的属性和方法。

当你想要修改字体时,你会面对三个属性,它们都有对应的Java方法。

下面详细描述这些属性。

3.1 android:typeStyle

textStyle主要用于设置部分字体的样式,对所有字体都有效。也就是说,即使更换了字体,仍然可以使用textStyle来修改其样式。 textStyle支持的选项有normal|bold|italic,也很容易理解,即normal|bold|italic。

正如你所看到的,字体不受textStyle的影响,只有它的样式在这里受到影响。

3.2 安卓:字体

typeface 可用于设置一些默认字体。其可选属性有Normal|sans|serif|monospace等,Normal和sans的字体其实是一样的,serif是衬线字体,nonospace是等宽字体。

其实光靠这么说是无法理解他们的。效果图更能说明问题。

您可以看到 serif 将衬线添加到默认字体中。而nonospace则限制了每个字符的宽度,使它们达到等宽的效果。

等宽其实很容易理解。衬线到底是什么意思?这是维基百科上的一张图片,可以非常直观地解释问题。

衬线实际上是字体边缘的小叽叽喳喳声。

3.3 安卓:字体家族

fontFamily 看起来像是字体的增强。从它的选项可以看出,它对字体样式的区分更加细致。

fontFamily还有很多选项,这里就不一一列举了。但需要注意的是,某些字体设置有版本限制。

例如:sans-serif-medium 需要 Android 5.0 版本才能支持。

下面举几个例子看看效果:

需要注意的是,如果同时配置了typeface和fontFamily,则会使用fontFamily配置的字体。

除了typeface和fontFamily之间存在冲突之外,两者都可以与typeStyle属性一起使用。换句话说,这里配置的字体可以是粗体或斜体。

4.使用主题修改全局字体

如果你能说服你的设计师接受系统字体,你就可以在Theme中配置你需要的默认字体。

在应用程序中,通过android:theme配置App的主题。一般新建的项目都是@style/AppTheme。为其添加字体属性android:fontFamily,即可完成系统字体的全局设置。当然,你可以为单独的TextView配置特殊的字体,这是可以接受的。

5.使用自定义字体

有时候,Android系统的默认字体已经不能满足我们的需求了。这个时候我们就需要使用一些定制的特殊字体。

关于字体,这里推荐两个网站,我们可以在其中下载免费字体供我们使用。

字体文件通常由设计师提供给我们,通常有两种格式:.ttf(TrueType)或.otf(OpenType)。更常用的是.ttf 格式。

通常我们把字体文件放在assets目录下。如果我们想要加载字体文件,我们需要使用Typeface类,它提供了一些API来帮助我们加载自定义字体文件。

例如Android免费字体,下面的例子就是一种常见的做法。

Typeface 不仅仅用于加载一些自定义字体文件。系统内置的字体也是通过Typeface来管理的。可以说它是Android的字体管理器。

好了Android免费字体,今天就到此为止。