Android自定义APP字体

使用 Android 设备自带的字体时：

Copy


<item name="android:textViewStyle">@style/CustomFontStyleText</item>
<item name="android:buttonStyle">@style/CustomFontStyleButton</item>




<item name="android:fontFamily">你的字体名字</item>


<item name="android:fontFamily">你的字体名字</item>


注意，当你的主题的父主题是 AppCompat 的主题，如 Theme.AppCompat.Light.DarkActionBar 时，在设置 android:fontFamily 的时候需要去掉android: ，也就是将上面的第二行替换为：

Copy
<item name="android:fontFamily">CustomStyle</item>

然后在 Manifest 文件中设置主题即可

Copy

<application
android:theme="@style/AppTheme" >
</application>

使用自定义字体时：

很多时候，你的用户的运行环境并不统一，这就需要你在开发时提前放进自己需要的字体。放字体具体的位置：在你的资源文件夹内，创建 font 文件夹即可。

使用方式：

Copy

<item name="android:fontFamily">@font/你的字体</item>
<item name="fontFamily">@font/你的字体</item>


然后在 Manifest 文件中设置主题即可

Copy

<application
android:theme="@style/AppTheme" >
</application>

注意：
支持库 26.0 支持在搭载 Android 4.1（API 级别 16）及更高版本的设备上使用 “XML 中的字体” 功能。更多的自定义的使用方法你可以参考官方文档：https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml

以上就是更换字体的一些方法。网上还有很多方法，例如遍历控件，设置字体；自定义 view 设置字体之类的。这些方法都能用，但是实际测试少部分字体还行，全局使用的时候资源占用过高，还是推荐上列的第二种方法。