Android 未应用webview字体

Android 未应用webview字体,android,Android,我有一个android网络视图,其中的文本有一个无衬线字体。我在assets/sans-serif.ttf中有ttf文件 这是密码 WebView webVw; String webContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac

我有一个android网络视图,其中的文本有一个无衬线字体。我在assets/sans-serif.ttf中有ttf文件 这是密码

WebView webVw;
String webContent;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webVw=(WebView)findViewById(R.id.webVw);
        webContent="%3Cdiv%20style%3D%22width%3A100%25%3Bheight%3A100%25%3Bposition%3Arelative%3Bleft%3A.1%25%3Btop%3A.1%25%22%3E%3Cdiv%20style%3D%22position%3Aabsolute%3Bwidth%3A31%25%3Bheight%3A42.22222222222222%25%3Bleft%3A36.375%25%3Btop%3A19.02313624678663%25%3Bcolor%3Argb(0%2C%200%2C%200)%3Bfont-size%3A50px%3Bfont-style%3Anormal%3Bfont-family%3Asans-serif%2C%20sans-serif%2C%20sans-serif%3Bfont-weight%3A400%22%20%3EOverlay!%20%3C%2Fdiv%3E%3Ca%20href%3D%22javascript%3A%20void(0)%22%20%20target%3D%22_blank%22%20%3E%3Cimg%20src%3D%22https%3A%2F%2Fsi0.twimg.com%2Fprofile_images%2F1490344068%2FLOGO_COGNIZANT_C_only_normal.jpg%22%20style%3D%22position%3Aabsolute%3Bwidth%3A4.875%25%3Bheight%3A10.444444444444445%25%3Bleft%3A0.625%25%3Btop%3A1.2853470437017995%25%22%20%2F%3E%3C%2Fa%3E%3Cdiv%20style%3D%22position%3Aabsolute%3Bwidth%3A4%25%3Bheight%3A6.666666666666667%25%3Bleft%3A95%25%3Btop%3A1.5424164524421593%25%3Bbackground%3Argb(47%2C%206%2C%20246)%20none%22%20%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22cf-component%20buttonwrap%22%20style%3D%22position%3Aabsolute%3Bborder%3Dradius%3A5px%3Bwidth%3A4.25%25%3Bheight%3A4.222222222222222%25%3Bleft%3A6.125%25%3Btop%3A3.3419023136246784%25%3Bbackground%3Argb(6%2C%20115%2C%20233)%3Bfont-size%3A15px%3Bfont-style%3Anormal%3Bfont-family%3Asans-serif%2C%20sans-serif%2C%20sans-serif%3Bfont-weight%3A400%22%20%3E%3Ca%20%20class%3D%22editableTxt%22%20href%3D%22http%3A%2F%2Fwww.cognizant.com%22%20target%3D%22_blank%22%3E%20Go!%3C%2Fa%3E%3C%2Fdiv%3E%3C%2Fdiv%3E";
        String head="<head><style>@font-face {font-family: 'sans-serif';src: url('file:///assets/sans-serif.ttf');}body {font-family: 'sans-serif';}</style></head>";
      String HtmlString = "<html>"+head+"<body>"+webContent+"</body></html>";
    webVw.loadData(HtmlString, "text/html","charset=UTF-8");

    }
WebView-webVw;
字符串网络内容;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webVw=(WebView)findviewbyd(R.id.webVw);
webContent=“%3Cdiv%20style%3D%22width%3A100%25%3Bheight%3A100%25%3Bposition%3Arelative%3Bleft%3A.1%25%3Btop%3A.1%25%22%3E%3Cdiv%20style%3D%22position%3A100%25%3Bheight%3A42.2222222222%25%3Bleft%3A36.375%3Btop%3A19.0231362468663%25%3Bcolor%3Argb(0%200%2C)%3字体大小%3A50px%3字体样式%3普通%3字体系列%3无衬线%2C%20sans衬线%2C%20sans衬线%3b字体重量%3A400%22%20%3EOverlay!%20%3C%2Fdiv%3E%3Ca%20href%3D%22javascript%3A%20void(0)%22%20%20%20%20%20%20%20%20%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%3%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2%2身份证th%3A4%25%3BHweight%3A6.66666666667%3Bleft%3A95%25%3Btop%3A1.5424164524421593%25%3B背景%3Argb(47%2C%206%2C%20246)%20无%22%20%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22cf组件%20ButtonRap%22%20style%3D%22position%3Absolute%3Border%3Dradius%3A5px%3Bwidth%3A4.25%25%3BHweight%3A4.22222%3BBLEFT%3A6.125%3Btop%3A3.34190231366784%3B背景%3Argb(6%2C%20115%2C%20233)%3b字体大小%3A15px%3b字体样式%3Anormal%3b字体系列%3A无衬线%2C%20s无衬线%2C%20s无衬线%3b字体重量%3A400%22%20%3E%3C%3Ca%20%20class%3D%22http%3A%2F%2Fwww.cognizent.com%22%20target%3D%22_空白%22%3E%20Go!%3C%2Fa%3E%3C%2F%2F%3E%2F%2F%3E”;
String head=“@font-face{font-family:'sans serif';src:url('file:///assets/sans-serif.ttf“);}正文{字体系列:'sans serif';}”;
字符串HtmlString=“”+标题+“”+网络内容+“”;
loadData(HtmlString,“text/html”,“charset=UTF-8”);
}
网络视图显示普通字体,但不显示无衬线字体

在资产/字体文件夹中,放置所需的OTF或TTF字体(此处为MyFont.OTF) 在assets文件夹中创建一个用于WebView内容的HTML文件(此处位于assets/demo/my_page.HTML中):


请注意,通过loadData()注入HTML对我来说不起作用。我很想知道是否有人能让它工作。

用这个代码代替它

webVw.loadDataWithBaseURL("file:///android_asset/",HtmlString, "text/html", "UTF-8",null);

在某些情况下,如果您尝试了许多方法来解决此问题,但您的问题尚未得到解决。您应该尝试检查字体文件的名称是否正确。打开字体文件并检查字体名称,复制该文件并将其重命名为正确的名称。 在html代码中也使用正确的名称。
我有过好几次这样的问题

我在webview中也遇到了同样的问题,webview不采用自定义字体,但相同的字体应用于其他控件。我不知道为什么webview没有应用自定义字体,我也正在将html加载到webview中
webview.loadUrl("file:///android_asset/demo/my_page.html");
webVw.loadDataWithBaseURL("file:///android_asset/",HtmlString, "text/html", "UTF-8",null);