在App开发中,UI规划运用好看的字体是很常见的,可是安卓系统中能够装备的字体就只有sans
、serif
、monospace
这三种。
因此,为了符合UI的规划,常见的做法是下载字体放到res/font/
文件夹下,然后通过android:fontFamily
来更改字体。
可是这么做有一个清楚明了的问题,字体文件会导致包体积增大,放两个字体文件一般会让apk增大10M以上。最近在看官方文档,偶尔看到一个解决方案:可下载字体。
可下载字体
从Android P(28)以及Android支撑库26开始,能够运用可下载字体API,通过Android支撑库26能够让Android ICE_CREAM_SANDWICH(14) 以上的设备都能够运用可下载字体。
能够通过以下三种方式来运用可下载字体:
- 通过 Android Studio 和 Google Play 服务
- 以程序化方式
- 通过支撑库
这边首要介绍下第一种方式,后两种都需要在代码中做额定的实现,有爱好的能够看看文档。
通过 Android Studio 和 Google Play 服务运用可下载字体
- 恣意挑选一个项目中的布局文件,选中Design形式。
- 选中一个TextView,在右侧Attributes栏目中找到fontFamily。
- 点开下拉框,找到More Fonts。
- 在Resources弹窗中挑选自己想要的字体,点ok创立,AS会自动生成并装备挑选的可下载字体,然后就能够在
android:fontFamily
中挑选刚装备好的字体了。
实测作用:
otf为其他渠道下载的字体,dowanloadable为通过GooglePlay下载的字体。
Pixel 3a XL(有Google Play)
Mi 8 lite(没有Google Play)
总结
能够依据实测作用看到,可下载字体在没有GooglePlay的手机上是无效的,而且通过GoogleFonts下载的字体与我们自己下载的字体还是有一定的区别。
假如App主打海外商场,而且GoogleFonts内的字体符合UI规划的需求,那么运用可下载字体
是很不错的挑选。