我使用的是FontAwesome 5ttf文件,所以我制作了一个字体系列,如下所示:
<?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>并得到一个图标的重,轻,和正常版本。这在~21以上的API中工作得很好(我还没有检查它打破了哪个版本,但我知道它在API 19和21中不起作用,我的项目最低版本是19),但在下面的API中,“斜体”样式只是倾斜正常版本的图标,如下所示:
slanted icon (should be light)
除了完全放弃字体系列方法之外,还有什么方法可以解决这个问题吗?
发布于 2018-04-24 02:23:30
你可以查看书法库,这是一个很好的字体定制库,你可以从Gihub :-https://github.com/chrisjenx/Calligraphy查看它。
https://stackoverflow.com/questions/49986918
复制相似问题