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

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

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

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



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

问题解决了,以下是贴出来的代码!!!!
黑色标题代码:
// 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);
}
具体问题出现在哪里还没找到,又知道的同学,可以评论区指教一下,谢谢!!!
网友评论