如何使用webview实现字体?

时间:2017-10-16 12:20:39

标签: android

我正在尝试从WebView中的数据库中获取一些HTML数据,我试图从资产文件夹中实现一些自定义字体,但WebView无法从资产文件夹中读取字体

wv = (WebView) findViewById(R.id.instructions);
        String pish = "<html><head><style type=\"text/css\">@font-face {font-family: MyFont;src: url(\"file:///android_asset/font/Noto.ttf\")}body {font-family: MyFont;font-size: medium;text-align: justify;}</style></head><body>";
        String pas = "</body></html>";
        wv.loadData(rec.instruction, "text/html", "UTF-8");

2 个答案:

答案 0 :(得分:2)

@font-face {
font-family: 'feast';
src: url('fonts/feasfbrg.ttf');
}

body {font-family: 'feast';}

然后使用资产路径作为基本网址:

loadDataWithBaseURL("file:///android_asset/",myhtml,"text/html","utf-8",null);

答案 1 :(得分:0)

为了使您的css调试更容易,您可以将css文件放在assets子文件夹中,并将<link>放到html代码中。

然后使用loadDataWithBaseUrl而不是调用loadData,将资源子文件夹作为基本URL。也将你的字体放在同一个baseUrl。

例如,这里的基本网址是assets / web:

资产/网络/ CSS
资产/网络/字体

你可以在Android之外准备你的html和css,而不必逃避这么多的文字。然后把它混合进来。