Android 从资源文件夹加载字体
我从远程服务器加载html文件并在webview中显示它们,但我的语言的默认字体有点凌乱,所以我尝试从资产文件夹加载字体。这是我的java代码和html文件Android 从资源文件夹加载字体,android,webview,Android,Webview,我从远程服务器加载html文件并在webview中显示它们,但我的语言的默认字体有点凌乱,所以我尝试从资产文件夹加载字体。这是我的java代码和html文件 webView.getSettings().setAppCacheEnabled(false); webView.getSettings().setAppCacheMaxSize(1); webView.getSettings().setDomStorageEnabled(true); webView.addJavascriptInterf
webView.getSettings().setAppCacheEnabled(false);
webView.getSettings().setAppCacheMaxSize(1);
webView.getSettings().setDomStorageEnabled(true);
webView.addJavascriptInterface(new WebAppInterface(this), "Android");
webView.setWebViewClient(new MyWebViewClient());
isShowing=true;
dialog.show();
String address="http://server/test.html";
Log.d("checking", address);
webView.loadUrl(address);
html代码:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Title Here </title>
<style type="text/css">
@font-face {
font-family:nazanin;
src:url('file:///android_asset/fonts/BNAZANIN.TTF');
}
body {
font-family: nazanin;
font-size: medium;
text-align: justify;
}
</style>
</head>
<body>
<p>this is for test</p>
</body>
</html>
标题在这里
@字体{
字体家族:纳扎宁;
src:url('file:///android_asset/fonts/BNAZANIN.TTF');
}
身体{
字体家族:纳扎宁;
字号:中等;
文本对齐:对齐;
}
这是测试用的
问题是加载后我出现以下错误:
11-21 10:50:55.439:E/Web控制台(9572):不允许加载本地资源:file:///android_asset/fonts/BNAZANIN.TTF 零时零分
解决这个问题的办法是什么 我最终在服务器上添加了该字体,并在html文件中链接到该字体。我尝试了几乎所有的方法,我认为这是唯一有效的方法。在html中使用css和js等外部文件时,加载DataWithBaseURL并在资产文件夹中添加字体是不合适的。此问题被错误标记为重复,OP希望从外部url的Web视图访问字体,而不是读取重定向了本地.html文件的Web视图。。。前进之路社区。。。