WebView基本用法

  • Post author:
  • Post category:其他


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); //支持自动加载图片



版权声明:本文为AllenWells原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。