博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android--------WebView实现 Html5 视频标签加载
阅读量:6405 次
发布时间:2019-06-23

本文共 2085 字,大约阅读时间需要 6 分钟。

  hot3.png

自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();	}}

网络权限

 

源码点击下载:

转载于:https://my.oschina.net/zhangqie/blog/805239

你可能感兴趣的文章
自动上线测试已经不潮了,你有跟上DevOps的潮流吗?
查看>>
轻松搞定|将PHP和Couchbase应用部署为Docker
查看>>
关闭ehcache的更新检查
查看>>
支撑Java NIO 与 NodeJS的底层技术
查看>>
(译)如何在cocos2d里面使用动画和spritesheet
查看>>
jfinal3根据模板生成数据
查看>>
dashboard控制台vnc修改为spice(openstack-icehouse)
查看>>
系统原理分析架构-一-DNS负载均衡
查看>>
【win7系统】你不知道的在PE下硬盘安装WIN7的好办法
查看>>
javascript中的window对象的setTimeout使用
查看>>
Java Exchanger栅栏
查看>>
Java并发编程--Volatile详解
查看>>
MYSQL数据库设计规范
查看>>
【九度OJ1283】|【剑指offer35】第一个只出现一次的字符
查看>>
Oracle语句记录
查看>>
iOS身份证验证
查看>>
MongoDB ObjectId结构说明
查看>>
ArcGIS Desktop新建postgresql版sde(10.4.1)的连接
查看>>
ubuntu 启动时自动创建的docker0网络怎么删除
查看>>
数字营销要运用AIDA
查看>>