Android字体系列在api中不起作用<=~21?

Android字体系列在api中不起作用<=~21?,android,android-layout,fonts,font-awesome,android-resources,Android,Android Layout,Fonts,Font Awesome,Android Resources,我正在使用Font5 ttf文件,所以我制作了一个字体系列,如下所示: <?xml version="1.0" encoding="utf-8"?> <font-family xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <font app:font="@f

我正在使用Font5 ttf文件,所以我制作了一个字体系列,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<font-family xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <font 
        app:font="@font/font_awesome_5_pro_regular_400"
        app:fontStyle="normal"
        app:fontWeight="400"
        />
    <font
        app:font="@font/font_awesome_5_pro_solid_900"
        app:fontStyle="normal"
        app:fontWeight="900"
        />
    <font
        app:font="@font/font_awesome_5_pro_light_300"
        app:fontStyle="italic"
        app:fontWeight="300"
        />
</font-family>

这样我就可以像这样定义字符串资源:

<string name="fa_gift_light"><i>\uf06b</i></string>
<string name="fa_gift_bold"><b>\uf06b</b></string>
\uf06b
\uf06b
并获得重、轻和普通版本的图标。这在API高于21的情况下效果很好(我实际上没有检查它在哪个版本中断,但我知道它在API 19和21中不起作用,我的项目的最小值是19),但在下面的API中,“斜体”样式只是使图标的正常版本倾斜,如下所示:


除了完全放弃字体系列方法之外,还有什么方法可以解决这个问题吗?

您可以查看书法库,这是一个很好的字体定制库 你可以在Gihub查一下 网址:-