下载 font 文件,在这里 Bundle 这个词需要有一定认识。Bundle 就是原意是将资源打包。我们字体资源包从 font provider 中获取数据, font provider 从缓存提取数据。
图我们所有应用通过 FontsContractCompat 协议去请求 Font Provider ,然后通过 font provider 读取 font cache 来获取字体。
图创建 FontRequest 类,参入的参数,字体提供者以及授权和数组,我们需要注意的是下载 font,然后执行安装字体是一件危险事,我们需要从信任的字体提供者下载字体。
图然后定义请求字体的回调函数,在 onTypefaceRetrieved 和 onTypefaceRequestFailed 分别定义请求时成功处理和失败处理。
图注意下载字体一件耗时的事情,所以我们需要在非 UI 线程外的线程进行处理。这里定一个 new Handler
图我们也可以通过 xml 来获取字体资源。
图我们也可以使用 Android studio 提供功能来下载获取字体。
图 图选择我们所需的字体。
图我们自动地生成 xml 文件。
图上面的连接,可以获取更多的信息。
网友评论