Tôi muốn thay đổi phông chữ WebView. Có 2 tệp trong thư mục "asset". Đó là:Thay đổi phông chữ WebView bằng CSS; tệp phông chữ trong thư mục nội dung. (vấn đề)
tài sản/fonts/DejaVuSans.ttf và
tài sản/css/result.css
tôi đã tìm kiếm một số câu trả lời trên StackOverflow và tìm ra một giải pháp nhưng nó không hoạt động. Các result.css tải DejaVuSans.ttf bằng cách sử dụng chỉ thị @ font-face. Sau đó, nó được bao gồm trong liên kết <> thẻ dữ liệu được chuyển đến WebView :: loadDataWithBaseURL (Mã bên dưới). Vấn đề là kiểu CSS hoạt động (văn bản màu đỏ) nhưng phông chữ không. Ký tự Square xuất hiện khi tôi hiển thị các ký hiệu phiên âm (/ '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;
}
Các System.out.println (resultText) là:
<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>
Tôi làm việc trên các cửa sổ. ame để biết "font-family"? – MobiDev
Tôi có cùng một vấn đề nhưng phông chữ vẫn không tải. Tôi viết toàn bộ tệp văn bản và kiểu chữ trên tệp html tải lên chế độ xem web. – Kenji