Android WebView 加载富文本内容
WebView加载数据的方式有两种:
1. webView.loadUrl(data);//加载url
2. webView.loadDataWithBaseURL(null,data, "text/html" , "utf-8", null);//加载html数据
可以使用来加载富文本内容:
webView.loadDataWithBaseURL(null,data, "text/html" , "utf-8", null);
为了使WebView在手机上能更好的展示富文本内容,推荐如下的WebSetting:
WebSettings settings = webView.getSettings();
// 设置WebView支持JavaScript
settings.setJavaScriptEnabled(true);
//支持自动适配
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setSupportZoom(true); //支持放大缩小
settings.setBuiltInZoomControls(true); //显示缩放按钮
settings.setBlockNetworkImage(true);// 把图片加载放在最后来加载渲染
settings.setAllowFileAccess(true); // 允许访问文件
settings.setSaveFormData(true);
settings.setGeolocationEnabled(true);
settings.setDomStorageEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);/// 支持通过JS打开新窗口
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
//设置不让其跳转浏览器
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
}); // 添加客户端支持
webView.setWebChromeClient(new WebChromeClient());
// mWebView.loadUrl(TEXTURL); //不加这个图片显示不出来
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
webView.getSettings().setBlockNetworkImage(false); //允许cookie 不然有的网站无法登陆
CookieManager mCookieManager = CookieManager.getInstance();
mCookieManager.setAcceptCookie(true);
mCookieManager.setAcceptThirdPartyCookies(webView, true); webView.loadUrl(URL);
补充:
当我们使用WebView加载富文本网页文件时,可能存在某些机型上展示内容乱码的问题。
解决方案:
1.首先设置html头文件为 utf-8,示例代码如下:
<head>
<title>这是标题</title>
<meta name="content-type" content="text/html; charset=utf-8">
<meta http-equlv="Content-Type" content="text/html;charset=utf-8">
</head>
2. 其次保证webView设置的编码与html设置编码一致:
webview.getSettings().setDefaultTextEncodingName("utf-8");
Android WebView 加载富文本内容的更多相关文章
- 记录一下UILabel加载富文本 iOS
一般情况下我们都习惯用webview加载富文本.但是webview比较消耗内存.然后发现其实本身可以用uilabel加载,性能还不错就记录下~~ 核心方法下面两个 -(NSMutableAttribu ...
- android html 图片处理类--加载富文本工具类
在android开发中,一些资讯类页面,里面有html标签和图片,html 标签一般通过Html.fromHtml方法,即可以解决,但是如果html 有图片标签,那么,Html.fromHtml 好像 ...
- Android WebView加载本地html并实现Java与JS交互
最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...
- 转:Android Webview 加载外部html时选择加载本地的js,css等资源文件
原文地址:http://m.blog.csdn.net/blog/qduningning/43196819 在使用WebView加载网页的时候,有一些固定的资源文件如js的jquery包,css,图片 ...
- Android WebView 加载超长 JS 数据
在之前的文章里面,我总结过WebView如何与网页交互,也就是Java如何和JS交互 —— Android WebView 总结 —— Java和JavaScript交互. 基于这篇文章,我们基本上能 ...
- Android WebView 加载网页
通过Android 中 WebView 控件加载HTML5 页面,这是实现Android 混合开发的基础. 选择加载的网页可以是本地,也可用使远程的.需要添加访问互联网的权限:<uses-per ...
- android webview 加载本地html 实现 与 java 之间的相互响应
1.布局 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:androi ...
- android webview加载网络连接
webview = (WebView) findViewById(R.id.webview); WebSettings webSettings = webview.getSettings(); //设 ...
- Android webView加载图片显示过大的问题
webview的基本使用流程这里我就不重复说明了,本篇针对的是文章详情加载完成后出现的情况,这里我们使用的方法是:通过js脚本,重置img标签中图片的宽度和高度. 使用步骤: 1.此方法需要使用js, ...
随机推荐
- cropperjs实践及中文文档(自译)
cropperjs是一款非常强大却又简单的图片裁剪工具,它可以进行非常灵活的配置,支持手机端使用,支持包括IE9以上的现代浏览器.(关键是使用方法简单,几行代码就可以搞定) 实践效果图 如图,可以对指 ...
- React组件略讲
React是前端组件化开发的开山鼻祖,这种开发方式彻底解决了的前端组件复用的痛点.今天,就来研究一下React组件开发. 前端同学一般都会从Vue入门,因为Vue使用的<template> ...
- Prometheus PromQL 基础
目录 时序 4 种类型 Counter Gauge Histogram Summary Histogram vs Summary 操作符 时序 4 种类型 Prometheus 时序数据分为 Coun ...
- __dict__和dir()的区别
__dict__和dir()的区别 dir() 一般用来查看模块的属性 __dict__从某方面上来说是dir()的子集 可以直接打印dir(),显示的是当前执行文件所有的属性 __dict__ __ ...
- 第一次c语言作业。
第一次c语言作业 作业1 2.1 你对软件工程专业或者计算机科学与技术专业了解是怎样? 我认为计算机科学与技术是研究信息过程.用以表达此过程的信息结构和规则及其在信息处理系统中实现的学科.这门学科是为 ...
- mysql那些事(5)建表存储引擎的选择
在mysql见表的时候,会遇到选择存储引擎:MyISAM和InnoDB.究竟用哪种存储引擎好呢? 1.MyISAM:表锁:支持全文索引:读并发性能较好. 2.InnoDB:行锁:支持事务,支持外键:写 ...
- 转战C#_001
---------------尽量用最少的语言描述 C# 世界里的所有事物------------------- 1. C#(pronounced "C-sharp") is an ...
- Python面试的一些心得,与Python练习题分享【华为云技术分享】
版权声明:本文为CSDN博主「华为云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/devcloud/arti ...
- 转:spring4.0之二:@Configuration的使用
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplic ...
- python BeautifulSoup4 获取 script 节点问题
在爬取12306站点名时发现,BeautifulSoup检索不到station_version的节点 因为script标签在</html>之外,如果用‘lxml’解析器会忽略这一部分,而使 ...