2014-10-08 134 views
0

我試圖更改我的webview元素的字體。我創建了一個網頁,並放置了.ttf文件。我打開了頁面,看起來很好。現在我想用一個webview來顯示它。由於我使用的是twitter bootstrap,因此我使用loadUrl方法來加載頁面。android無法更改webview中的字體

頁面確實加載但字體錯誤。在我的css樣式文件,我想這(我的HTML文件中的「www」目錄我的資產文件夾,我把字體文件夾中爲好):

@font-face { 
    font-family: 'Far.TitrDF'; 
    src: url('file:///android_asset/www/Far_TitrDF.ttf'); 
} 


@font-face { 
    font-family: 'Far.TitrDF'; 
    src: url('Far_TitrDF.ttf'); 
} 

我還試圖建立一個「字體」目錄在資產文件夾,並把我的字體在那裏,並試圖這些:

@font-face { 
    font-family: 'Far.TitrDF'; 
    src: url('file:///android_asset/fonts/Far_TitrDF.ttf'); 
} 


@font-face { 
    font-family: 'Far.TitrDF'; 
    src: url('../fonts/Far_TitrDF.ttf'); 
} 

但沒有成功。有趣的是,所有其他的東西,比如樣式,都顯示得很好。你能告訴我我在這裏做錯了嗎?

回答

0
String data="<html><head><meta  http-equiv=\"content-type\" content=\"text/html;\" charset=\"UTF-8\"><style>"+ 
     "@font-face {"+ 
      "font-family: \"MyFont\";"+ 
      "src: url('file:///android_asset/fonts/normal.otf');"+ 
      "font-weight:bold !important;"+ 
     "}"+ 
     "@font-face {"+ 
      "font-family: \"MyFontBold\";"+ 
      "src: url('file:///android_asset/fonts/bold.otf');"+ 
      "font-weight:bold !important;"+ 
     "}"+ 
     "@font-face {"+ 
      "font-family: \"MyFontItalic\";"+ 
      "src: url('file:///android_asset/fonts/Italic.otf');"+ 
      "font-weight:bold !important;"+ 
     "}"+ 
     "@font-face {"+ 
      "font-family: \"BoldItalic\";"+ 
      "src: url('file:///android_asset/fonts/BoldItalic.otf');"+ 
      "font-weight:bold !important;"+ 
     "}"+ 
     "strong { font-family:\"MyFontBold\"; }"+ 
     "em {font-family :\"MyFontItalic\";}"+ 
     "body { font-family:\"MyFont\"; }"+ 
     "body strong em {font-family:\"BoldItalic\";}"+ 
     "body em strong{font-family:\"BoldItalic\";}"+ 
     "</style>"+ 
     "</head>"+ 
     "<body>"+your description String+ "</body></html>"; 


     web.loadDataWithBaseURL("file:///android_asset/", data, "text/html", 
       "UTF-8", "null"); 
1

它的壞主意了更改Web視圖的字體,如果你的數據是純文本喜歡的方式是使用的TextView和SetTypeface方法...

但你仍然可以通過混合HTML使用web視圖自定義字體和css和字體命令在CSS中,但字體必須是網絡字體沒有任何字體和字體url沒有子文件夾

+0

有時我們你需要顯示外部信息的URI或HTML類型,因爲這是必要的使用webview 。在我的情況下,我需要顯示一個HTML信息,這有一個默認的樣式,但WebView無法識別字體。 – 2018-01-23 23:27:18