如何在Android中改變WebView的字體?我希望將webview的默認字體更改為自定義字體。我正在使用webview為Android開發一個雙語瀏覽器應用程序。我嘗試通過在資產中放置自定義字體來獲取自定義字體的實例。但仍然不能將webview的默認字體設置為我的字體。這就是我試過的:Typeface font = Typeface.createFromAsset(getAssets(), "myfont.ttf");
private WebView webview;WebSettings webSettings = webView.getSettings();
webSettings.setFixedFontFamily(font);有人能糾正這種情況或建議其他方法將webview的默認字體更改為自定義字體嗎?謝謝!
3 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
在你的 assets/fonts
文件夾中,放置所需的OTF或TTF字體(此處是MyFent.otf) 創建一個HTML文件,用于WebView的內容,在 assets
文件夾(這里在里面) assets/demo/my_page.html
):<html><head><style type="text/css">@font-face { font-family: MyFont; src: url("file:///android_asset/fonts/MyFont.otf")}body { font-family: MyFont; font-size: medium; text-align: justify;}</style></head><body>Your text can go here! Your text can go here! Your text can go here!</body></html>
從代碼中將HTML加載到WebView中: webview.loadUrl("file:///android_asset/demo/my_page.html");
loadData()
請注意,JavaScript的相同來源策略意味著在使用此方法加載的頁面中運行的腳本將無法訪問使用“Data”以外的任何方案加載的內容,包括“http(S)”。要避免這一限制,請使用loadDataWithBaseURL()和適當的基本URL。
webView.loadDataWithBaseURL("file:///android_asset/", htmlData);
htmlData
/fonts/MyFont.otf

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
@font-face { font-family: 'myface'; src: url('file:///android_asset/fonts/myfont.ttf'); } body { font-family: 'myface', serif;
- 3 回答
- 0 關注
- 467 瀏覽
添加回答
舉報
0/150
提交
取消