WebView基本用法
作者: 郭嘉
邮箱: guoxiaoxingv@163.com
博客:
https://guoxiaoxing.github.io/
知乎:
https://www.zhihu.com/people/allen-wells
关于作者
Android Coder一枚, 目前就职于杭州大搜车汽车汽车服务有限公司。爱技术、爱烹饪、爱小提琴、爱一切新鲜有趣的事物。
人生格言: 不想当程序员的歌手不是好厨师。
关于文章
作者的每一篇文章都会同时发布在Github、CSDN和知乎上, 文章顶部也会附上Github上的文章链接和代码链接。如果文章中有什么疑问欢迎发邮件与
我交流, 对于交流的问题, 请描述清楚并附上代码与日志, 我一般都会给予回复。如果文章中有什么错误, 也欢迎斧正。如果你觉得本文章对你
有所帮助, 也欢迎去star文章, 关注文章的最新的动态。
本系列文章讨论WebView的各种用法以及使用技巧, 一共包含三篇文章:
WebView基本用法
WebView代码交互
WebView性能优化
WebView也是Android View的一种, 我们通常用它来在应用内部展示网页, 和以往一样, 我们先来简单看一下它的基本用法。
添加网络权限
<uses-permission android:name="android.permission.INTERNET" />
在布局中添加WebView
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
使用WebView加载网页
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
以上就是WebView的简单用法, 相比大家已经十分熟悉, 下面我们就来逐一看看WebView的其他特性。
一 WebView基本组件
了解了基本用法, 我们对WebView就有了大致的印象, 下面我们来看看构建Web应用的三个重要组件。
1.1 WebSettings
WebSettings用来对WebView做各种设置, 你可以这样获取WebSettings:
WebSettings webSettings = mWebView .getSettings();
WebSettings的常见设置如下所示:
JS处理
- setJavaScriptEnabled(true); //支持js
- setPluginsEnabled(true); //支持插件
- setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
缩放处理
- setUseWideViewPort(true); //将图片调整到适合webview的大小
- setLoadWithOverviewMode(true); // 缩放至屏幕的大小
- setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
- setBuiltInZoomControls(true); //设置内置的缩放控件。 这个取决于setSupportZoom(), 若setSupportZoom(false),则该WebView不可缩放,这个不管设置什么都不能缩放。
- setDisplayZoomControls(false); //隐藏原生的缩放控件
内容布局
- setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局
- supportMultipleWindows(); //多窗口
文件缓存
- setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
- setAllowFileAccess(true); //设置可以访问文件
其他设置
- setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点
- setLoadsImagesAutomatically(true); //支持自动加载图片