Android 中 webview 自定义字体

需求: 应用中的 webview 界面中可以使用 assets 目录以及 sdcard 的字体
原理: 通过更改 css 中的 font-family 属性更改字体,关键在于如果加载本地的字体,这就要使用到 css 的 @font-face 属性

效果图(右图为自定义字体):

以下的一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
<style type="text/css">
@font-face {
font-family: 'customFont';
src: url('file:///mnt/sdcard/manaco.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body{
font-family: customFont;
}
</style>

先通过 @font-face 加载本地字体,然后通过 font-family 设置元素的显示字体。设置 url 为本地文件路径(file://本地路径)来加载 sdcard 字体,如果要加载 assets 目录的字体将 url 改为 file:///android_assets/manaco.ttf

截图由 便签 生成