本文共 2001 字,大约阅读时间需要 6 分钟。
(创建于2016/11/8)
1.在assets中创建资源文件content.css,文件内容如下(这只是个示例,是修改标签的,项目中是用于加载富文本,html加载没有实验过)
body,p,div,h1,h2,h3,h4,h5,h6,span{ color:#ffffff !important; font-size:15px; background:none}body p span{ color:#ffffff !important;font-size:14px !important;}body p.MsoNormal span{ color:#ffffff !important;font-size:14px !important;}
2.使用webview进行加载(str是传入的富文本)
/** * 修改webview样式(assets--css文件) * * @param webview * @param str */ public static void getWebContent(WebView webview, String str) { String linkCss = " "; String body = "" + linkCss + " " + str + ""; webview.loadDataWithBaseURL(linkCss, body, "text/html", "UTF-8", null); }
二.1加载html网页的方式网上找到的,尚未试验,用于网页中图片过大时设置图片宽度为屏幕宽度
1. webView.getSettings().setLoadWithOverviewMode(true);// webView.getSettings().setUseWideViewPort(true); 这句不要设置 否则第2点无效 里面的内容不会适配屏幕
2. DisplayMetrics outMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(outMetrics); DecimalFormat format = new DecimalFormat("0.00"); String formatResult = format.format((float)(outMetrics.widthPixels) / (float)420); //420为html页面的宽度 Log.i("xxx", "scale = " + Float.valueOf(formatResult)); //设置初始缩放大小 100% 屏幕宽度 / 网页设置的宽度 webView.setInitialScale((int)(Float.valueOf(formatResult) *100));//39
这个方法似乎4.4之后无法使用
3.webView.setInitialScale((int)(Float.valueOf(formatResult) *100));//39
4.在css中加这个试试在我们获取到的String类型的html代码里面,我们已经把转义符replace成我们实际需要的字符,这时候我们就能取到img的标签了( ),那只要加上如下的代码,就可以了:htmlData = htmlData.replace("
5
jsoup设置html标签属性:[java] view plain copy Elements elementImgs = detail.getElementsByTag("img");//获取所有img标签 DeviceInfo deviceInfo = DeviceUtil.getDevicesPix(BlogContentActivity.this); for (Element img : elementImgs) { img.attr("width", (int)(deviceInfo.width/deviceInfo.density) + "px");//设置width属性 } 将经过处理的html加载到webview,就可以看到图片是与屏幕同宽,当然如果图片本来的大小小于屏幕宽度,就没必要进行放大了,可以在修改width属性前,先判断一下。
转载地址:http://ovgfl.baihongyu.com/