自Android 4.4起,Android中的WebView开始基于Chromium(谷歌浏览器)支持浏览器的一系列功能,webkit解析网页各个节点,这个改变,使得WebView的性能大幅度提升,并且对HTML5, CSS3, and JavaScript有了更好的支持。

案列主要介绍WebView加载带有HTML5的视频标签的网页,点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边,防止WebView内存泄漏等。

效果图:

Html网页图:

代码

public class MainActivity extends Activity {

private WebView webView;

private String url = "http://lbh.zhangwoo.cn/?m=home&c=index&a=home";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initWebView();

}

@SuppressWarnings("deprecation")

@SuppressLint("SetJavaScriptEnabled")

private void initWebView() {

webView = (WebView) findViewById(R.id.activity_webview);

webView.requestFocus();

webView.setHorizontalScrollBarEnabled(false);

webView.setVerticalScrollBarEnabled(false);

WebSettings web = webView.getSettings();

web.setJavaScriptEnabled(true);

web.setBuiltInZoomControls(true);

web.setSupportZoom(true);

web.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);

web.setUseWideViewPort(true);

web.setLoadWithOverviewMode(true);

web.setSavePassword(true);

web.setSaveFormData(true);

//web.setBlockNetworkImage(true);// 把图片加载放在最后来加载渲染

webView.loadUrl(url);

webView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

// 重写此方法表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边

view.loadUrl(url);

return true;

}

@Override

public void onReceivedSslError(WebView view,

SslErrorHandler handler, SslError error) {

// 重写此方法可以让webview处理https请求

handler.proceed();

}

});

}

@Override

// 设置回退

// 覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法

public boolean onKeyDown(int keyCode, KeyEvent event) {

if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {

webView.goBack(); // goBack()表示返回WebView的上一页面

return true;

}

return false;

}

/***

* 防止WebView加载内存泄漏

*/

@Override

protected void onDestroy() {

super.onDestroy();

webView.removeAllViews();

webView.destroy();

}

}

网络权限

android 视频标签,android--------WebView实现 Html5 视频标签加载相关推荐

  1. 【Android 逆向】类加载器 ClassLoader ( 使用 DexClassLoader 动态加载字节码文件 | 拷贝 DEX 文件到内置存储 | 加载并执行 DEX 字节码文件 )

    文章目录 一.拷贝 Assets 目录下的 classes.dex 字节码文件到内置存储区 二.加载 DEX 文件并执行其中的方法 三.MainActivity 及执行结果 四.博客资源 一.拷贝 A ...

  2. android图标随着进度条动画,Android开发之ProgressBar字体随着进度条的加载而滚动...

    在网上翻阅了很多关于ProgressBar滚动效果,但是始终没有找到适合项目中的这种效果,故自己写这篇文章,记录一下写作过程,给大家做一个参考.先看下最终效果效果图 我这里用的是LICEcap软件录制 ...

  3. Android中关于Volley的使用(二)加载Json数据

    前面一篇关于Volley的文章中,我们学习了如何利用ImageRequest去网络中加载图片,那么今天我们就来学习一下如何利用volley去网络中加载Json格式数据,并将其展示在一个ListView ...

  4. Android 11.0 Settings源码分析 - 主界面加载

    Android 11.0 Settings源码分析 - 主界面加载 本篇主要记录AndroidR Settings源码主界面加载流程,方便后续工作调试其流程. Settings代码路径: packag ...

  5. 《android开发艺术探索》笔记之Bitmap的加载和Cache

    <Android开发艺术探索>笔记之Bitmap的加载和Cache<一> 我放暑假前,就在图书馆借了一本<Android开发艺术探索>,这也是我看到很多人推荐的.之 ...

  6. uniapp播放本地视频,循环播放第二遍会显示加载图标

    uniapp播放本地视频,循环播放第二遍会显示加载图标 解决:将加载图标替换成一张纯透明的图片(我感觉这个方法有点捞,有更好的方法可以留言)本方法适用离线打包,因为替换图片要修改uniapp的依赖包 ...

  7. Android一键生成包含.dex的Jar及动态加载方案

    Android一键生成包含.dex的Jar及动态加载方案 背景:谈到动态加载相信很多小伙伴都会想到 热更新 及 动态加载dex 的技术,最近也因为项目重构的需求,折腾了下这方面的技术点,以前研究过但时 ...

  8. Flutter中举步维艰的WebView,终于实现了加载本地html

    1.需求背景 实现一个不全屏的,支持加载本地html资源的webview 2.结论先行 选用了官方的webview_flutter.总结了下实践的过程,分析几个插件有如下特点: flutter_ina ...

  9. Vant Tab标签页+下拉刷新+上拉加载

    Vant Tab标签页+下拉刷新+上拉加载 <template><div class="invoicePickupBox"><div class=&q ...

  10. html5移动端加载闪屏解决办法

    html5移动端加载闪屏解决办法,其实很简单,给加一个加载过程动画效果就可以了,这样就不会出现闪屏效果,看起来与APP效果基本上是一样的了. 在<body>的下面加一个DIV层 <d ...

最新文章

  1. 在Android Studio中搜索整个项目中所有出现的字符串
  2. 2020 我的C++学习之路 C++PrimerPlus第四章课后习题
  3. c语言 字符相加_C语言中自加自减的编译原理
  4. mysql5.5.21安装图解_Windows系统安装MySQL5.5.21图解教程
  5. ABB RAPID SOCKET编程
  6. form表单提交数据的同时上传文件代码示例
  7. tnsname.ora 个参数解释
  8. WebService cxf视频教程
  9. 快速卸载软件和残余,很Nice的一款卸载工具—Your Unin-staller!
  10. 公众号搜题怎么实现的?
  11. android 取消root,彻底告别安卓刷机时代!360超级ROOT正式宣布下线:取消ROOT权限
  12. 《黄帝内经》四季养生法
  13. TSE for SketchUp Pro - 建筑行业
  14. 2017年下半年中学综合素质问答题
  15. 事务的四大属性ACID即事务的原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability.。...
  16. 关于极光推送通知栏无法正确显示应用图标
  17. GPS,RTK,PPS及网络RTK科普
  18. android计时器
  19. SSM综合复习之MyBatis
  20. iOS App内测分发的步骤解析

热门文章

  1. spring mvc: xml练习
  2. 在mysql中加载并执行sql文件
  3. 「管理数学基础」4.2 模糊数学:扩张原理、模糊数、可能性分布与模糊概率
  4. JavaScript 对象 和 函数
  5. mysql 函数无法访问_mysql 中出现:不能打开到主机的连接,在端口3306: 连接失败...
  6. matlab实现图片类型的转换
  7. appim自动化--点击指定控件的指定位置
  8. 【转】CCScale9Sprite和CCControlButton
  9. 如何安装vscode网页版_如何让用编辑器编写EverNote?
  10. 数据库服务器修改地址,数据库服务器修改地址吗