亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Android中改變WebView的字體?

如何在Android中改變WebView的字體?

catspeake 2019-10-21 16:12:14
如何在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個贊

這里有一個有用的例子這個項目..歸根結底是:

  1. 在你的

    assets/fonts

    文件夾中,放置所需的OTF或TTF字體(此處是MyFent.otf)
  2. 創建一個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>
  3. 從代碼中將HTML加載到WebView中:

    webview.loadUrl("file:///android_asset/demo/my_page.html");

注意,通過loadData()是不允許的。根據文件:

請注意,JavaScript的相同來源策略意味著在使用此方法加載的頁面中運行的腳本將無法訪問使用“Data”以外的任何方案加載的內容,包括“http(S)”。要避免這一限制,請使用loadDataWithBaseURL()和適當的基本URL。

正如@JaakL在下面的注釋中所建議的,為了從字符串中加載HTML,您應該提供指向您的資產的基本URL:

webView.loadDataWithBaseURL("file:///android_asset/", htmlData);

中引用字體時htmlData,然后您可以簡單地使用/fonts/MyFont.otf(省略基URL)。



查看完整回答
反對 回復 2019-10-22
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

更簡單的是,您可以使用AssetURL格式引用字體。不需要編程!

@font-face {
   font-family: 'myface';
   src: url('file:///android_asset/fonts/myfont.ttf'); } body { 
   font-family: 'myface', serif;


查看完整回答
反對 回復 2019-10-22
  • 3 回答
  • 0 關注
  • 467 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號