Android:外部网站使用的自定义字体(Arial)的WebView。 CSS

时间:2012-10-03 15:12:00

标签: android css fonts android-webview

是否有可能在我的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()。

任何想法/帮助都会很棒!

1 个答案:

答案 0 :(得分:4)

1)将字体放在项目的assets文件夹中,而不是SD卡上。在项目中创建名为assets

的文件夹

2)在@font-face中引用它    src: url('file:///android_asset/Arial.ttf');