这里我先简单描述一下需求:服务器返回的是html页面的一部分带有标签的内容。
解决的思路是:将服务器返回的内容片段拼凑成一个完整的页面。
下面直接上核心代码:
这里是WebView一些配置
WebSettings设置=webView.getSettings (); settings.setJavaScriptEnabled(真正的); settings.setDomStorageEnabled(真正的); settings.setUseWideViewPort(真正的); settings.setLoadWithOverviewMode(真正的); webView。setWebViewClient(新MyWebViewClient(活动)); 如果(Build.VERSION。SDK_INT祝辞=Build.VERSION_CODES.KITKAT) { settings.setLayoutAlgorithm (WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING); 其他}{ settings.setLayoutAlgorithm (WebSettings.LayoutAlgorithm.NORMAL); } webView.loadData (getHtmlData (item.content),“text/html; charset=utf - 8”、“utf - 8”); 私人getHtmlData字符串(字符串bodyHTML) { 字符串头=" & lt; head> "+ “& lt;元name=\ "视窗\“内容=\”宽度=设备宽度,初始=1.0,user-scalable=没有\”在" + “& lt; style> html身体{填充:15 px;}{自动换行:break-word;字体大小:13 px;填充:0 px;保证金:0 px} p{填充:0 px;保证金:0 px;字体大小:13 px;颜色:# 222222;行高:1.3;}img{填充:0 px,保证金:0 px; max-width: 100%;宽度:汽车;高度:汽车;}& lt;/style>”+ “& lt;/head>”; 返回“& lt; html>”+头+“& lt; body>”+ bodyHTML +”& lt;/body> & lt;/html>”; } 静态类MyWebViewClient延伸WebViewClient { 私人WaitingDialog对话框; 私人活动活动; 公共MyWebViewClient(活动活动){ 对话框=new WaitingDialog(活动); 这一点。活动=活动; } @Override 公共布尔shouldOverrideUrlLoading (WebView视图中,字符串url) { LogUtil.e (url); view.loadUrl (url); 返回true; } @Override 公共空间> 如果(webView.isHardwareAccelerated ()) settings.setJavaScriptEnabled(真正);
怎么样简单吧,希望对大家的学习有所帮助,也希望大家多多支持。