Android O 自定义字体 ,远程引入的可下载字体功能。无需捆绑(Kotlin)

https://download.csdn.net/download/qq_28884137/87505476   

 有两种方法可以请求下载字体。  Java 代码下载字体,您需要先创建一个 FontRequest 类,例如 :
 

FontRequest request = new FontRequest(
    "com.google.android.gms.fonts", // ProviderAuthority
    "com.google.android.gms",  // ProviderPackage
    query,  // Query
    R.array.com_google_android_gms_fonts_certs); // Certificates

参数 ,由字体提供程序给出,在这种情况下 以上使用谷歌提供的字体。 第三个参数是有关请求字体的查询字符串。定义查询的语法 由字体提供商提供。ProviderAuthorityProviderPackage

然后将请求实例传递给 FontsContractCompat 中的方法。requestFont

FontsContractCompat.requestFont(context, request, callback, handler);

下载的字体或错误代码(如果请求失败)将传递给回调。 上面的示例假定您使用的是支持库中的类。有 框架中的相应类,但如果 使用支持库。

您可以在XML文件中声明下载的字体,并让系统为您下载并使用它 在布局中。

FontsContractCompat.requestFont(context, request, callback, handler);

下载的字体或错误代码(如果请求失败)将传递给回调。 上面的示例假定您使用的是支持库中的类。有 框架中的相应类,但如果 使用支持库。

您可以在XML文件中声明下载的字体,并让系统为您下载并使用它 在布局中。

<font-family xmlns:app="http://schemas.android.com/apk/res-auto"
        app:fontProviderAuthority="com.google.android.gms.fonts"
        app:fontProviderPackage="com.google.android.gms"
        app:fontProviderQuery="Lobster Two"
        app:fontProviderCerts="@array/com_google_android_gms_fonts_certs">
</font-family>

通过在 XML 文件中定义请求的字体并将数组和 元数据标记,您可以避免延迟,直到字体被下载 第一次尝试。preloaded_fonts

<resources>
    <array name="preloaded_fonts" translatable="false">
        <item>@font/lobster_two</item>
    </array>
</resources>
<application >
    ...
    <meta-data android:name="preloaded_fonts" android:resource="@array/preloaded_fonts" />
    ...
</application>

注意,该示例使用 Google Play 服务作为字体提供程序,这需要预发布 谷歌播放服务的版本

先决条件

  • 安卓软件开发工具包 25
  • 安卓构建工具 v25.0.3
  • 安卓支持存储库

demo下载连接:https://download.csdn.net/download/qq_28884137/87505476

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_28884137

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值