Chcę zmienić czcionkę WebView. W folderze "zasoby" znajdują się 2 pliki. Są to:Zmień czcionkę WebView za pomocą CSS; plik czcionki w folderze zasobów. (problem)
aktywa/fonts/DejaVuSans.ttf i
aktywa/css/result.css
Szukałem kilka odpowiedzi na StackOverflow i znaleźć rozwiązanie, ale to nie działa. Result.css ładuje plik DejaVuSans.ttf, używając dyrektywy @ font-face. Następnie jest zawarty w tagu danych < link, który jest przekazywany do WebView :: loadDataWithBaseURL (kod znajduje się poniżej). Problem polega na tym, że style CSS działają (tekst jest czerwony), ale czcionka nie ma wartości. Kwadratowe znaki pojawiają się, gdy wyświetlam symbole fonetyczne (/ '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) wynosi:
<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>
Pracuję nad oknami. poznać "rodzinę czcionek"? – MobiDev
Mam ten sam problem, ale czcionka nadal nie ładuje się. Piszę cały plik tekstowy i krój pisma na pliku HTML, który ładuje się do widoku strony. – Kenji