Android O 推出了一项新的功能 Fonts in XML,借助这项功能,我们能比较方便地实现App全局字体的替换。
Android Studio操作
右键单击项目的
app / res
文件夹,然后选择New > Android resource directory
。打开下拉菜单并选择
font
,输入font
作为File name,点击OK
。将字体文件拖放到新的
res / font
文件夹中。Android O支持.otf(OpenType)
和.ttf(TrueType)
两种格式的字体文件。
创建Font family
在Android Studio中创建Font family
右键单击项目的
res / font
文件夹,然后选择New > Font resource file
。输入文件名,然后点击
OK
.打开此XML文件并定义该字体的所有不同版本,以及其样式和权重属性,例如:
1 | <?xml version="1.0" encoding="utf-8"?> |
添加字体至style
打开 style.xml
文件,将fontFamily属性设置为你想要访问的字体文件。
1 | <style name="customfontstyle" parent="@android:style/TextAppearance.Small"> |
在XML布局中使用字体资源
给TextView添加字体
在XML布局文件中,将fontFamily设置为你想要的访问的字体文件:
1
2
3
4<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lobster"/>
在你的App的Theme中配置此属性即可实现整个App的字体替换。
使用代码控制字体
1 | Typeface typeface = getResources().getFont(R.font.myfont); |
内容来自Android Developer官网,做了简单的翻译
https://developer.android.com/preview/features/fonts-in-xml.html