我想更改WebView字體。 「資產」文件夾中有2個文件。它們是:使用CSS更改WebView字體;資產文件夾中的字體文件。 (問題)
資產/字體/ DejaVuSans.ttf和
資產/ CSS/result.css
我搜索StackOverflow上一些答案,找出一個解決方案,但它不工作。 result.css使用@ font-face指令加載DejaVuSans.ttf。然後它被包含在傳遞給WebView :: loadDataWithBaseURL的數據的鏈接>標記<中(代碼如下)。 問題是CSS樣式的作品(文字是紅色),但字體不是。當我顯示拼音符號時出現方形字符(/'pə:sn /)。
String resultText = "<html><head>";
resultText += "<link href=\"css/result.css\"" + " rel=\"stylesheet\" type=\"text/css\" />";
resultText += "<style>" + "@font-face { font-family: \"DejaVuSans\"; " + "" +
"src: url('file:///android_asset/fonts/DejaVuSans.ttf'); }</style>";
resultText += "</head>";
resultText += "<body><p>" + text + "</p>" + "</body></html>";
resultView.loadDataWithBaseURL("file:///android_asset/", resultText, "text/html", "utf-8", null);
result.css:
@font-face {
font-family: "DejaVuSans";
/*src: url('fonts/DejaVuSans.ttf'); also not work*/
src: url('file:///android_asset/fonts/DejaVuSans.ttf');
}
body {
color: red;
}
的的System.out.println(resultText)爲:
<html><head><link href="css/result.css" rel="stylesheet" type="text/css" /><style>@font-face { font-family: "DejaVuSans"; src: url('file:///android_asset/fonts/DejaVuSans.ttf'); }</style></head><body><p>person /'pə:sn/</p></body></html>
我在windows上工作。 ame知道「字體家族」? – MobiDev
我有同樣的問題,但字體仍然不會加載。我在加載到Web視圖的HTML文件中編寫整個文本文件和字體。 – Kenji