Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:WebView,外部网站和CSS使用自定义字体(Arial)_Android_Css_Fonts_Android Webview - Fatal编程技术网

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

Android:WebView,外部网站和CSS使用自定义字体(Arial),android,css,fonts,android-webview,Android,Css,Fonts,Android Webview,是否可以在我的Android应用程序中包含一个TTF字体Arial,供外部加载网页的CSS使用 例如,假设我的网站有一个CSS文件,其中包含以下内容: @font-face { font-family: "CustomArial"; src: url('Arial.ttf'); } h1 { font-family: 'CustomArial', serif; } 我还尝试将字体的url src设置为以下值,但它们都不起作用: /mnt/sdcard/Ari

是否可以在我的Android应用程序中包含一个TTF字体Arial,供外部加载网页的CSS使用

例如,假设我的网站有一个CSS文件,其中包含以下内容:

@font-face { 
    font-family: "CustomArial"; 
    src: url('Arial.ttf'); 
}

h1 {  
    font-family: 'CustomArial', serif;
}
我还尝试将字体的url src设置为以下值,但它们都不起作用:

/mnt/sdcard/Arial.ttf file://mnt/sdcard/Arial.ttf 我知道,如果Arial.ttf文件与服务器上的CSS文件位于同一目录中,那么这是可行的,但我想做的是能够使用我的应用程序的/assets文件夹中的Arial.ttf,或者我将它放在SD卡上的某个地方。原因是Arial.ttf文件为775kb,用户需要在呈现页面之前下载该文件

这可能吗?我知道,如果加载到WebView中的HTML位于本地,我可以通过WebView.loadData加载它,但我需要使用WebView.loadUrl


任何想法/帮助都会很好

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

2在@font-face中使用
src:url'file:///android_asset/Arial.ttf';

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

2在@font-face中使用
src:url'file:///android_asset/Arial.ttf';

这不管用。我尝试了每一次迭代,每一个可能的文件路径,但都不起作用。如果我将字体放在assets文件夹中,并从assets文件夹中的HTML文件中引用它,我就能够让它工作,但我需要在外部加载的网页上以某种方式引用本地TTF字体。如果将CSS文件放在assets文件夹中,定义字体,并将该CSS文件添加到WebView中,会怎么样?url中的路径是相对于CSS文件而不是HTML文件的。如何将CSS文件添加到WebView?通过loadData?@hooked82我对安卓开发一无所知,但我认为它是:。然后,在css中,引用相对于样式表目录的字体。这不起作用。我尝试了每一次迭代,每一个可能的文件路径,但都不起作用。如果我将字体放在assets文件夹中,并从assets文件夹中的HTML文件中引用它,我就能够让它工作,但我需要在外部加载的网页上以某种方式引用本地TTF字体。如果将CSS文件放在assets文件夹中,定义字体,并将该CSS文件添加到WebView中,会怎么样?url中的路径是相对于CSS文件而不是HTML文件的。如何将CSS文件添加到WebView?通过loadData?@hooked82我对安卓开发一无所知,但我认为它是:。然后,在css中,引用相对于样式表目录的字体。正如您所知,在apk中嵌入Arial或将其托管在web服务器上进行重新分发是不合法的,除非您有许可证。字体授权是Android只包括Roboto和Droid字体的原因之一。有许多开源字体接近于Arial。查看Bitstream Vera字体。谢谢你的提醒,但我知道这一点。嘿@hooked82这篇文章已经发布了很长时间了,但是你解决了这个问题吗?正如你所知,除非你有许可证,否则在apk中嵌入Arial或将其托管在web服务器上进行重新分发是不合法的。字体授权是Android只包括Roboto和Droid字体的原因之一。有许多开源字体接近于Arial。查看Bitstream Vera字体。谢谢你的提醒,但我知道这一点。嘿@hooked82这篇文章已经发布了很长时间,但是你解决了这个问题吗?