美文网首页
关于WebView加载本地html文件的一个问题

关于WebView加载本地html文件的一个问题

作者: Soulthinker | 来源:发表于2017-05-10 10:39 被阅读0次

客户给了一个word文档,是一个应用协议的声明,要放到app中展示;

想到了先转换成html文件(word直接另存为html就可以),再用WebView加载显示;

将html文件放到assets目录下;然后调用代码

只用setLoadWithOverviewMode(true)和setUseWideViewPort(true)的时候,宽度没有超出屏幕宽度,但是显示出来的字体大小不对;

设置了setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)的时候,字体大小倒是合适了,但是宽度会超出屏幕宽度

最后网上找了好久,终于发现了问题,因为之前设置的webview控件宽高都是match_parent;
改为wrap_content,然后设置setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN)即可正常显示;

  WebView webView = (WebView) findViewById(R.id.web_protocol);
        WebSettings settings = webView.getSettings();
//      自适应屏幕
        settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
//      settings.setLoadWithOverviewMode(true);
        //扩大比例的缩放
//      settings.setUseWideViewPort(true);
        //设置支持js
        settings.setJavaScriptEnabled(true);
//      设置可以支持缩放
        settings.setSupportZoom(true);
//      设置出现缩放工具
//      settings.setBuiltInZoomControls(true);

        //根据屏幕密度设置
//        DisplayMetrics dm = new DisplayMetrics();
//        getWindowManager().getDefaultDisplay().getMetrics(dm);
//        if (dm.densityDpi > 240 ) {
//            settings.setDefaultFontSize(70); //可以取1-72之间的任意值,默认16
//        }
//        settings.setTextSize(WebSettings.TextSize.LARGEST);

        webView.setBackgroundColor(Color.TRANSPARENT);  //  WebView 背景透明效果
        webView.loadUrl("file:///android_asset/protocol.html");

相关文章

  • UITableViewCell嵌套UIWebView

    UITableViewCell嵌套UIWebView, 解决WebView加载本地Html文件高度获取不准确问题,...

  • 2020-08-21

    Webview (1)加载URL(网络或者本地assets文件夹下的html文件)(2)加载html代码(3) ...

  • iOS webview 清除js缓存

    webview清除缓存不能清除js缓存 问题: uiwebview加载的是本地的html 文件(包含 HTML j...

  • iOS OC与JS 相互调用

    OC调用JS 首先我们创建一个WebView,加载一个本地的HTML文件 在webview加载完成时-(void)...

  • Android开发-WebView

    WebView 加载网页1.加载URL(网络或者本地assets文件下的html文件)2.加载htmL代码3.Na...

  • iOS WebView加载本地js、css文件

    iOS WebView加载本地js、css文件 思路:对html进行操作,然后webView loadHtml 将...

  • H5与Android互调

    1. WebView加载页面 webview可以加载本地和网络页面,根据html的文件位置,有不同的写法. mWe...

  • Android webview和H5交互

    1. WebView加载页面 webview可以加载本地和网络页面,根据html的文件位置,有不同的写法. 通常情...

  • WebView笔记

    显示百度网页: 布局 加载本地HTML 本地新建assets文件夹 代码调用: //webView 显示Html语...

  • Flutter webview_flutter 加载HTML文本

    Flutter webview_flutter 加载HTML文本/本地文件 Uri uri =new Uri.da...

网友评论

      本文标题:关于WebView加载本地html文件的一个问题

      本文链接:https://www.haomeiwen.com/subject/lmywtxtx.html