是否有可能在我的Android应用程序中包含一个可以由外部加载的网页的CSS使用的TTF字体(Arial)?
例如,假设我的网站为http://www.some-site.com,它有一个包含以下内容的CSS文件:
@font-face {
font-family: "CustomArial";
src: url('Arial.ttf');
}
h1 {
font-family: 'CustomArial', serif;
}
我也尝试将font-face的url src设置为以下内容,但这些内容都不起作用:
/mnt/sdcard/Arial.ttf
file://mnt/sdcard/Arial.ttf
我知道如果Arial.ttf文件与服务器上的CSS文件位于同一目录中,这是有效的,但我想要做的是能够使用我的app / assets文件夹中的Arial.ttf,或者我把它放在SD卡上的某个地方。推理是因为Arial.ttf文件是775kb,在呈现页面之前需要用户下载。
这甚至可能吗?我知道如果我加载到WebView中的HTML存在于本地并且我将通过WebView.loadData()加载它,我可以完成此操作,但我需要使用WebView.loadUrl()。
任何想法/帮助都会很棒!
答案 0 :(得分:4)
1)将字体放在项目的assets文件夹中,而不是SD卡上。在项目中创建名为assets
2)在@font-face
中引用它
src: url('file:///android_asset/Arial.ttf');