美文网首页
webview文字颜色一直显示黑色问题,以及解决方法

webview文字颜色一直显示黑色问题,以及解决方法

作者: 默默_大魔王 | 来源:发表于2019-11-22 14:25 被阅读0次
image

今天测试提了一bug,有一个网页,手机端显示有问题,有一个网页标题,后台设置的是红色标题,在手机端显示的时候,ios可以正常显示,安卓不能正常显示,安卓上显示的是黑色的。如下如图:

安卓上效果
ios上是一下效果
//
//
//
//
表示不服啊有木有
ios上效果

一下是代码安卓代码,这行代码文字是黑色的:


代码1

一下代码是修改好的代码,文字标题是红色的:


代码2 代码二效果 文字虽然改成红色的了,但是,web'view好像是用浏览器现实的,不是手机端的样式了,然后就把自适应去掉了 image.png

完美问题解决了,但是你会发现,里面如果有图片的话,会超出屏幕,解决方案,遍历所有图片,为所有图片设置宽度占100%,高度自适应。


image.png
问题解决了,以下是贴出来的代码!!!!
黑色标题代码:
//    public WebHelper(Context context, WebView webView){
//        mWebView=webView;
//        // TODO Auto-generated method stub
////        String release = android.os.Build.VERSION.RELEASE;
////        release = release.substring(0, 3);
////        if ("4.4".equals(release)) {
////            mWebView.setWebViewClient(new MyWebViewClient());
////        } else {
////            mWebView.setVisibility(View.VISIBLE);
////            ws = mWebView.getSettings();
////            WebSettings ws = mWebView.getSettings();
////            ws.setJavaScriptEnabled(true);
////            ws.setBlockNetworkImage(false);
////            ws.setAllowFileAccess(true);
////            ws.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
////            ws.setDefaultTextEncodingName("utf-8”);
////            ws.setTextSize(WebSettings.TextSize.NORMAL);
////            ws.setAppCacheEnabled(false);
////            ws.setDomStorageEnabled(true);
////            ws.setRenderPriority(WebSettings.RenderPriority.HIGH);
////
////            mWebView.setFocusable(false);
////            if (android.os.Build.VERSION.SDK_INT >= 8) {
////                ws.setPluginState(WebSettings.PluginState.ON);
////            }
////            ws.setRenderPriority(WebSettings.RenderPriority.HIGH);
////            mWebView.setWebViewClient(new WebViewClientDemo());
////            mWebView.setWebChromeClient(new WebViewChromeClientDemo());
////            mWebView.setHorizontalScrollBarEnabled(false);
////            mWebView.setVerticalScrollBarEnabled(false);
////            mWebView.setFocusable(false);
////            mWebView.setWebViewClient(new WebViewClient());
////            mWebView.getSettings().setJavaScriptEnabled(true);
////            mWebView.setWebChromeClient(new WebChromeClient() {
////                @Override
////                public void onProgressChanged(WebView webView, int i) {
////                    super.onProgressChanged(webView, i);
////                }
////            });
//
////            mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
////            mWebView.getSettings().setDomStorageEnabled(false);
////            mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
////            // 自适应屏幕
//////            mWebView.getSettings().setUseWideViewPort(true);//让webview读取网页设置的viewport,pc版网页 
//////            mWebView.getSettings().setLoadWithOverviewMode(true);
////            mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
//
////        }
//    }

修改后的代码:

 1 public static void setWebImageClick(WebView view,String method) {
        String jsCode="javascript:(function(){“ +
                "var imgs=document.getElementsByTagName(\"img\");” +
                "for(var i=0;i<imgs.length;i++){“ +
                "imgs[i].pos = i;”+
                "imgs[i].style.maxWidth = '100%'; imgs[i].style.height = 'auto'; “+
                "imgs[i].onclick=function(){“ +
                "window."+method+".openImage(this.src,this.pos);" +//这行代码是给webview里面所有图片加点击事件,获取图片数组,跳转新的activity查看大图效果
                "}}})()”;
        view.loadUrl(jsCode);
    }
 private void setData(String data) {
        imgs = WebHelper.returnImageUrlsFromHtml(data);
        imageJavascriptInterface=new ImageJavascriptInterface(context,imgs);
        mWebView.addJavascriptInterface(imageJavascriptInterface, method);
        mWebView.loadData(data,"text/html; charset=UTF-8", null);
        mWebView.setWebViewClient(new WebViewClientDemo());
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView webView, int i) {
                super.onProgressChanged(webView, i);
            }

        });

        mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        mWebView.getSettings().setDomStorageEnabled(false);
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
        // 自适应屏幕
//        mWebView.getSettings().setUseWideViewPort(true);//让webview读取网页设置的viewport,pc版网页 
//        mWebView.getSettings().setLoadWithOverviewMode(true);
        mWebView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        //registerForContextMenu(mWebView);

    }

具体问题出现在哪里还没找到,又知道的同学,可以评论区指教一下,谢谢!!!

相关文章

  • webview文字颜色一直显示黑色问题,以及解决方法

    。 今天测试提了一bug,有一个网页,手机端显示有问题,有一个网页标题,后台设置的是红色标题,在手机端显示的时候,...

  • WebView全屏显示图片文字问题

    自己在做公司app的时候碰到要把html文本展示出来,并且要让它的内容充满整个屏幕。 试了好久,网上给出的解决方案...

  • 关于WebView采坑实录,以及解决方案

    这边总结几个WebView的常见问题,以及相应的解决方法 一、重定向问题 问题描述:我们从网页A跳到网页B,但是跳...

  • 【CSS】web常用字体颜色

    以黑色为基础 黑色白底-85%显示颜色相当于白色黑底15%显示颜色 以80%黑色为基础 WPS中主题颜色

  • 计算选择器的权重

    下面的代码,文字显示什么颜色? 文字是红色的,即便黄色,黑色定义在红色之后,但是id定义的样式权重高,因此显示id...

  • Android中WebView闪烁问题

    Android中WebView闪烁问题 解决方法 webView默认隐藏然后在onPageFinished回调中显...

  • Toolbar/webview

    webview的问题 问题一 webview中无法显示图片 //解除阻止 setBlockNetworkImage...

  • Adnroid WebView

    Android webView 注意问题 //解决图片不显示 webView.getSettings().setB...

  • 【Eclipse】代码全部显示为黑色字体

    问题:打开原本可正常运行的代码,全部显示为黑色字体,不显示高亮部分;编码时不能自动补全。 解决方法:文件右键 op...

  • javascript设置反差色

    在画图表的时候,我习惯随机产生颜色,不过经常碰到一个问题,背景颜色上面选择显示文字颜色选择很费劲,经常图上文字颜色...

网友评论

      本文标题:webview文字颜色一直显示黑色问题,以及解决方法

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