WebView各种属性详解

  1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:
mWebView.setWebViewClient(new WebViewClient(){
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
          view.loadUrl(url);
          return true;
      }
  });
  1. 通过Java代码调用JavaScript
WebSettings webSettings =   mWebView .getSettings();       
webSettings.setJavaScriptEnabled(true); 
mWebView.addJavascriptInterface(new Object() {       
            public void clickOnAndroid() {       
                mHandler.post(new Runnable() {       
                    public void run() {       
                        webview.loadUrl("javascript:wave()");       
                    }       
                });       
            }       
        }, "demo"); 
  1. 按返回键时, 不退出程序而是返回上一浏览页面:
public boolean onKeyDown(int keyCode, KeyEvent event) {       
        if ((keyCode == KeyEvent.KEYCODE_BACK) &&   mWebView .canGoBack()) {       
            webview.goBack();       
                   return true;       
        }       
        return super.onKeyDown(keyCode, event);       
    }
  1. 打开页面时, 自适应屏幕:
WebSettings webSettings =   mWebView .getSettings();       
webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放
webSettings.setLoadWithOverviewMode(true);
  1. 便页面支持缩放:
WebSettings webSettings =   mWebView .getSettings();       
webSettings.setJavaScriptEnabled(true);  
webSettings.setBuiltInZoomControls(true);
webSettings.setSupportZoom(true);

6.如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。

webview.requestFocusFromTouch();

7.WebView 加载界面主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL.

1、LoadUrl 直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif)
2、LoadData 显示文字与图片内容 (模拟器1.5、1.6)
3、LoadDataWithBase 显示文字与图片内容(支持多个模拟器版本)

WebSettings 的常用方法介绍

setJavaScriptEnabled(true);  //支持js

setPluginsEnabled(true);  //支持插件 

setUseWideViewPort(false);  //将图片调整到适合webview的大小 

setSupportZoom(true);  //支持缩放 

setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局  

supportMultipleWindows();  //多窗口 

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);  //关闭webview中缓存 

setAllowFileAccess(true);  //设置可以访问文件 

setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点

webview webSettings.setBuiltInZoomControls(true); //设置支持缩放 

setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 

setLoadWithOverviewMode(true); // 缩放至屏幕的大小

setLoadsImagesAutomatically(true);  //支持自动加载图片

.WebViewClient 的方法全解

doUpdateVisitedHistory(WebView view, String url, boolean isReload)  //(更新历史记录) 

onFormResubmission(WebView view, Message dontResend, Message resend) //(应用程序重新请求网页数据) 

onLoadResource(WebView view, String url) // 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。 

onPageStarted(WebView view, String url, Bitmap favicon) //这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告诉用户程序在等待网络响应。 

onPageFinished(WebView view, String url) //在页面加载结束时调用。同样道理,我们知道一个页面载入完成,于是我们可以关闭loading 条,切换程序动作。 

onReceivedError(WebView view, int errorCode, String description, String failingUrl)// (报告错误信息) 

onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,String realm)//(获取返回信息授权请求) 

onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) //重写此方法可以让webview处理https请求。

onScaleChanged(WebView view, float oldScale, float newScale) // (WebView发生改变时调用) 

onUnhandledKeyEvent(WebView view, KeyEvent event) //(Key事件未被加载时调用) 

shouldOverrideKeyEvent(WebView view, KeyEvent event)//重写此方法才能够处理在浏览器中的按键事件。 

shouldOverrideUrlLoading(WebView view, String url) 
//在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。

WebChromeClient常用方法详解

公共构造器(Public Constructors)

public WebChromeClient ()

公共方法

getDefaultVideoPoster

public Bitmap getDefaultVideoPoster ()

添加自 API level 7

Html中,视频(video)控件在没有播放的时候将给用户展示一张“海报”图片(预览图)。其预览图是由Html中video标签的poster属性来指定的。如果开发者没有设置poster属性, 则可以通过这个方法来设置默认的预览图。

返回值
Bitmap 设置预览图的默认图片,或者为空。

getVideoLoadingProgressView

public View getVideoLoadingProgressView ()

添加自 API level 7

播放视频时,在第一帧呈现之前,需要花一定的时间来进行数据缓冲。ChromeClient可以使用这个函数来提供一个在数据缓冲时显示的视图。 例如,ChromeClient可以在缓冲时显示一个转轮动画。

返回值

参数
View 显示一个视频加载中的视图。

getVisitedHistory

public void getVisitedHistory (ValueCallback callback)

添加自 API level 7

获得所有访问历史项目的列表,用于链接着色。

onCloseWindow

public void onCloseWindow (WebView window)

添加自 API level 1

通知主机主机应用WebView关闭了,并在需要的时候从view系统中移除它。此时,WebCore已经停止窗口中的所有加载进度,并在JavaScript中移除了所有cross-scripting的功能。

参数
window 需要关闭的webview。
onConsoleMessage

public void onConsoleMessage (String message, int lineNumber, String sourceID)

添加自 API level 7

该方法在 API level 8 被弃用
使用 onConsoleMessage(ConsoleMessage) 来替代。

将JavaScript的调试信息提交给主机应用。ChromeClient覆写此方法来展示调试过程中的日志。

参数
message 报告的错误消息。
lineNumber 错误的行号。
sourceID 导致错误的源文件的名称。

public boolean onConsoleMessage (ConsoleMessage consoleMessage)

添加自 API level 8

将JavaScript的调试信息提交给主机应用。ChromeClient覆写此方法来展示调试过程中的日志。

参数
consoleMessage 包含详细调试信息
返回值
true 如果消息是由客户端处理。
onCreateWindow

public boolean onCreateWindow (WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg)

添加自 API level 1

请求主机应用创建一个新窗口。如果主机应用选择响应这个请求,则该方法返回true,并创建一个新的WebView,将其插入到视图系统中,并将其提供的resultMsg作为参数提供给新的WebView。 如果主机应用选择不响应这个请求时,则该方法返回false。 默认情况下,该方法不做任何处理并返回false。

参数
view 请求新窗口的WebView。
isDialog 如果是true,代表这个新窗口只是个对话框,如果是false,则是一个整体的大小的窗口。
isUserGesture 如果是true,代表这个请求是用户触发的,例如点击一个页面上的一个连接。
resultMsg 当一个新的WebView被创建时这个只被传递给他,resultMsg.obj是一个WebViewTransport的对象,它被用来传送给新创建的WebView,使用方法:
WebView.WebViewTransport.setWebView(WebView)
返回值

这个方法如果返回true,代表这个主机应用会创建一个新的窗口,否则应该返回fasle。如果你返回了false,但是依然发送resulMsg会导致一个未知的结果。

onExceededDatabaseQuota

public void onExceededDatabaseQuota (String url, String databaseIdentifier, long quota, long estimatedDatabaseSize, long totalQuota, WebStorage.QuotaUpdater quotaUpdater)

添加自 API level 5

该方法在 API level 19 被弃用
该方法将不再被调用; WebView现在使用HTML5 / JavaScript Quota Management API.

通知应用程序webview内核web sql 数据库超出配额,请求是否扩大数据库磁盘配额。默认行为是不会增加数据库配额。

参数
url 触发这个数据库配额的url地址
databaseIdentifier 指示出现数据库超过配额的标识。
quota 原始数据库配额的大小,字节单位bytes。
estimatedDatabaseSize 到达底线的数据大小,字节单位bytes。
totalQuota 总的数据库配额大小,字节单位bytes。
quotaUpdater 更新数据库配额的对象,可以使用 quotaUpdater.updateQuota(newQuota);配置新的数据库配额大小。
onGeolocationPermissionsHidePrompt

public void onGeolocationPermissionsHidePrompt ()

添加自 API level 5

当前一个调用onGeolocationPermissionsShowPrompt() 取消时,通知主机应用请求地理定位权限。隐藏相关的UI。

onGeolocationPermissionsShowPrompt

public void onGeolocationPermissionsShowPrompt (String origin, GeolocationPermissions.Callback callback)

添加自 API level 5

当前页面请求是否允许进行定位。

参数
origin 权限设置的源地址。
callback GeolocationPermissions的回调。
GeolocationPermissions.Callback

public void invoke(String origin, boolean allow, boolean retain);

参数
origin 权限设置的源地址。
allow 是否允许定位。
retain 当前的选择是否让内核记住。
onHideCustomView

public void onHideCustomView ()

添加自 API level 7

退出视频通知。

onJsAlert

public boolean onJsAlert (WebView view, String url, String message, JsResult result)

添加自 API level 1

通知应用程序显示javascript alert对话框,如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。

参数
view WebView的实例。
url 当前请求弹出javascript 对话框 webview 加载的url地址。
message 弹出的内容信息。
result 用来响应用户的处理。
返回值 参数
boolean 客户端是否处理alert对话框。
onJsBeforeUnload

public boolean onJsBeforeUnload (WebView view, String url, String message, JsResult result)

添加自 API level 1

通知应用程序显示一个对话框,让用户选择是否离开当前页面,这个回调是javascript中的onbeforeunload事件,如果客户端返回true,内核会认为客户端提供对话框。默认行为是return false。

参数
view WebView的实例。
url 当前请求弹出javascript 对话框 webview 加载的url地址。
message 弹出的内容信息。
result 用来响应用户的处理。
返回值
boolean 客户端是否处理alert对话框。
onJsConfirm

public boolean onJsConfirm (WebView view, String url, String message, JsResult result)

添加自 API level 1

通知应用程序显示javascript Confirm对话框,如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。

参数
view WebView的实例。
url 当前请求弹出javascript 对话框 webview 加载的url地址
message 弹出的内容信息。
result 用来发送用户的响应给JavaScrip的JsResult
返回值
boolean 客户端是否处理提示对话框。
onJsPrompt

public boolean onJsPrompt (WebView view, String url, String message, String defaultValue, JsPromptResult result)

添加自 API level 1

通知应用程序显示一个prompt对话框。如果应用程序返回true内核认为应用程序处理这个消息,返回false,内核自己处理。

参数
view WebView的实例。
url 当前请求弹出javascript 对话框 webview 加载的url地址。
message 弹出的内容信息。
defaultValue prompt dialog默认显示的信息。
result 用来发送用户的响应给JavaScrip的jspromptresult。
返回值
boolean 客户端是否处理提示对话框。
onJsTimeout

public boolean onJsTimeout ()

添加自 API level 7

该方法在 API level 17 被弃用
这种方法将不再被支持调用

告诉客户端JavaScript执行发生超时。让客户端决定是否中断执行。如果客户端返回true,JavaScript执行将会中断。如果客户端返回false,将继续执行。注意:继续执行的话,超时计数器将会被重置,回调将继续出现在下次JavaScript没有完成的检查点。

返回值
boolean JavaScript执行是否应该被打断。
onProgressChanged

public void onProgressChanged (WebView view, int newProgress)

添加自 API level 1

通知应用网页的加载进度。

参数
view WebView的实例。
newProgress 当前页面载入进度,为代表 一个0到100之间的整数。
onReachedMaxAppCacheSize

public void onReachedMaxAppCacheSize (long requiredStorage, long quota, WebStorage.QuotaUpdater quotaUpdater)

添加自 API level 7

该方法在 API level 19 被弃用
该方法将不再被调用; WebView现在使用HTML5 / JavaScript Quota Management API.

通知应用程序内核已经到达最大的appcache。appcache是HTML5针对offline的一个数据处理标准。

参数
requiredStorage 通过应用程序缓存操作触发通知所需的存储量,以字节为单位。
quota 当前的最大应用程序缓存大小,以字节为单位。
quotaUpdater 一个通知WebView使用新配额的WebStorage.QuotaUpdater实例。
onReceivedIcon

public void onReceivedIcon (WebView view, Bitmap icon)

添加自 API level 1

当前页面有个新的图标时候,会回调这个函数。

参数
view WebView的实例。
icon 当前页面的新图标。
onReceivedTitle

public void onReceivedTitle (WebView view, String title)

添加自 API level 1

当document 的title变化时,会通知应用程序。

参数
view WebView的实例。
title document最新的字符串标题。
onReceivedTouchIconUrl

public void onReceivedTouchIconUrl (WebView view, String url, boolean precomposed)

添加自 API level 7

通知应用程序 apple-touch-icon的 url 。

参数
view 已初始化WebView的回调。
url apple-touch-icon 的服务端地址。
precomposed 如果precomposed 是true,则touch-icon是预先创建的。
onRequestFocus

public void onRequestFocus (WebView view)

添加自 API level 1

webview请求得到焦点,发生这个主要是当前webview不是前台状态,是后台webview。

参数
view 需要获取焦点的webview。
onShowCustomView

public void onShowCustomView (View view, int requestedOrientation, WebChromeClient.CustomViewCallback callback)

添加自 API level 14

该方法在 API level 18 被弃用
这种方法支持过时的插件机制, 以后不会被调用

通知主机应用webview需要显示一个特定方向的custom view。

参数
view 即将要显示的view。
requestedOrientation 用于Activityinfo.Screenorientation的方向常量。
callback 当view 需要dismiss 则使用这个对象进行回调通知。

public void onShowCustomView (View view, WebChromeClient.CustomViewCallback callback)

添加自 API level 7

通知主机应用webview需要显示一个custom view,主要是用在视频全屏 HTML5 Video support。

参数
view 即将要显示的view。
callback 当view 需要dismiss 则使用这个对象进行回调通知。

WebSettings说明

setAllowContentAccess (boolean allow) 

是否允许在WebView中访问内容URL(Content Url),默认允许。内容Url访问允许WebView从安装在系统中的内容提供者载入内容。

setAllowFileAccess (boolean allow) 

是否允许访问文件,默认允许。注意,这里只是允许或禁止对文件系统的访问,Assets 和 resources 文件使用file:///android_asset和file:///android_res仍是可访问的。

setAllowFileAccessFromFileURLs (boolean flag) 

是否允许运行在一个URL环境(the context of a file scheme URL)中的JavaScript访问来自其他URL环境的内容,为了保证安全,应该不允许。也请注意,这项设置只影响对file schema 资源的JavaScript访问,其他形式的访问,例如来自图片HTML单元的访问不受影响。为了防止相同的域策略(same domain policy)对ICE_CREAM_SANDWICH以及更老机型的侵害,应该显式地设置此值为false。

setAllowUniversalAccessFromFileURLs (boolean flag) 

是否允许运行在一个file schema URL环境下的JavaScript访问来自其他任何来源的内容,包括其他file schema URLs. 参见setAllowFileAccessFromFileURLs(boolean),为了确保安全,应该设置为不允许,注意这项设置只影响对file schema 资源的JavaScript访问,其他形式的访问,例如来自图片HTML单元的访问不受影响。为了防止相同的域策略(same domain policy)对ICE_CREAM_SANDWICH以及更老机型的侵害,应该显式地设置此值为false。ICE_CREAM_SANDWICH_MR1 以及更老的版本此默认值为true,JELLY_BEAN以及更新版本此默认值为false

setAppCacheEnabled (boolean flag) 

应用缓存API是否可用,默认值false, 结合setAppCachePath(String)使用。

setAppCachePath(String) 

设置应用缓存文件的路径。为了让应用缓存API可用,此方法必须传入一个应用可写的路径。该方法只会执行一次,重复调用会被忽略。

setAppCacheMaxSize (long appCacheMaxSize) 

已废弃。设置应用缓存内容的最大值。所传值会被近似为数据库支持的最近似值,因此这是一个指示值,而不是一个固定值。所传值若小于数据库大小不会让数据库调整大小。默认值是MAX_VALUE,建议将默认值设置为最大值。

setBlockNetworkImage (boolean flag) 

是否禁止从网络(通过http和https URI schemes访问的资源)下载图片资源,默认值为false。注意,除非getLoadsImagesAutomatically()返回true,否则该方法无效。还请注意,即使此项设置为false,使用setBlockNetworkLoads(boolean)禁止所有网络加载也会阻止网络图片的加载。当此项设置的值从true变为false,WebView当前显示的内容所引用的网络图片资源会自动获取。

setBlockNetworkLoads (boolean flag) 

是否禁止从网络下载数据,如果app有INTERNET权限,默认值为false,否则默认为true。使用setBlockNetworkImage(boolean) 只会禁止图片资源的加载。注意此值由true变为false,当前WebView展示的内容所引用的网络资源不会自动加载,直到调用了重载。如果APP没有INTERNET权限,设置此值为false会抛出SecurityException。

setBuiltInZoomControls (boolean enabled) 

是否使用内置的缩放机制。内置的缩放机制包括屏幕上的缩放控件(浮于WebView内容之上)和缩放手势的运用。通过setDisplayZoomControls(boolean)可以控制是否显示这些控件,默认值为false。

setCacheMode (int mode) 

重写使用缓存的方式,默认值LOAD_DEFAULT。缓存的使用方式基于导航类型,正常的页面加载,检测缓存,需要时缓存内容复现。导航返回时,内容不会复现,只有内容会从缓存盘中恢复。该方法允许客户端通过指定LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or LOAD_CACHE_ONLY的其中一项来重写其行为。

setCursiveFontFamily (String font) 

设置WebView字体库字体,默认“cursive”

setDatabaseEnabled (boolean flag) 

数据库存储API是否可用,默认值false。如何正确设置数据存储API参见setDatabasePath(String)。该设置对同一进程中的所有WebView实例均有效。注意,只能在当前进程的任意WebView加载页面之前修改此项,因为此节点之后WebView的实现类可能会忽略该项设置的改变。

setDatabasePath (String databasePath) 

已废弃,数据库路径由实现(implementation)管理,调用此方法无效。
设置数据库的存储路径,为了保证数据库正确运行,该方法必须使用一个应用可写的路径。此方法只能执行一次,重复调用会被忽略。

setDefaultFixedFontSize (int size) 

设置默认固定的字体大小,默认为16,可取值1到72

setDefaultFontSize (int size) 

设置默认的字体大小,默认16,可取值1到72

setDefaultTextEncodingName (String encoding) 

设置默认的字符编码集,默认”UTF-8”.

setDefaultZoom (WebSettings.ZoomDensity zoom) 

已废弃。设置默认的缩放密度,必须在UI线程调用,默认值MEDIUM.该项设置在新应用中不推荐使用。如果WebView用于展示手机页面,可以通过调整页面的’meta viewport’ 标记中的’width’ 和 ‘initial-scale’属性实现预期效果,对于漏用标记的页面,可以使用setInitialScale(int)和setUseWideViewPort(boolean) .

setDisplayZoomControls (boolean enabled) 

使用内置的缩放机制时是否展示缩放控件,默认值true。参见setBuiltInZoomControls(boolean).

setDomStorageEnabled (boolean flag) 

DOM存储API是否可用,默认false。

setEnableSmoothTransition (boolean enable) 

已废弃,将来会成为空操作(no-op),设置当panning或者缩放或者持有当前WebView的window没有焦点时是否允许其光滑过渡,若为true,WebView会选择一个性能最大化的解决方案。例如过渡时WebView的内容可能不更新。若为false,WebView会保持精度(fidelity),默认值false。

setFantasyFontFamily (String font) 

设置fantasy字体集(font family)的名字默认为“fantasy”

setFixedFontFamily (String font) 

设置固定的字体集的名字,默认为”monospace”。

setGeolocationDatabasePath (String databasePath) 

定位数据库的保存路径,为了确保定位权限和缓存位置的持久化,该方法应该传入一个应用可写的路径。

setGeolocationEnabled (boolean flag) 

定位是否可用,默认为true。请注意,为了确保定位API在WebView的页面中可用,必须遵守如下约定:
(1) app必须有定位的权限,参见ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION;
(2) app必须提供onGeolocationPermissionsShowPrompt(String, GeolocationPermissions.Callback)回调方法的实现,在页面通过JavaScript定位API请求定位时接收通知。
作为可选项,可以在数据库中存储历史位置和Web初始权限,参见setGeolocationDatabasePath(String).

setJavaScriptCanOpenWindowsAutomatically (boolean flag) 

让JavaScript自动打开窗口,默认false。适用于JavaScript方法window.open()。

setJavaScriptEnabled (boolean flag) 

设置WebView是否允许执行JavaScript脚本,默认false,不允许。

setLayoutAlgorithm (WebSettings.LayoutAlgorithm l) 

设置布局,会引起WebView的重新布局(relayout),默认值NARROW_COLUMNS

setLightTouchEnabled (boolean enabled) 

已废弃。从 JELLY_BEAN 开始,该设置无效。允许使用轻触摸做出选择和光标悬停。

setLoadWithOverviewMode (boolean overview) 

是否允许WebView度超出以概览的方式载入页面,默认false。即缩小内容以适应屏幕宽度。该项设置在内容宽度超出WebView控件的宽度时生效,例如当getUseWideViewPort() 返回true时。

setLoadsImagesAutomatically (boolean flag) 

WebView是否下载图片资源,默认为true。注意,该方法控制所有图片的下载,包括使用URI嵌入的图片(使用setBlockNetworkImage(boolean) 只控制使用网络URI的图片的下载)。如果该设置项的值由false变为true,WebView展示的内容所引用的所有的图片资源将自动下载。

setMediaPlaybackRequiresUserGesture (boolean require) 

WebView是否需要用户的手势进行媒体播放,默认值为true。

setMinimumFontSize (int size) 

设置最小的字号,默认为8

setMinimumLogicalFontSize (int size) 

设置最小的本地字号,默认为8。

setMixedContentMode (int mode) 

当一个安全的来源(origin)试图从一个不安全的来源加载资源时配置WebView的行为。默认情况下,KITKAT及更低版本默认值为MIXED_CONTENT_ALWAYS_ALLOW,LOLLIPOP版本默认值MIXED_CONTENT_NEVER_ALLOW,WebView首选的最安全的操作模式为MIXED_CONTENT_NEVER_ALLOW ,不鼓励使用MIXED_CONTENT_ALWAYS_ALLOW。

setNeedInitialFocus (boolean flag) 

调用requestFocus(int, Android.graphics.Rect)时是否需要设置节点获取焦点,默认值为true。

setOffscreenPreRaster (boolean enabled) 

当WebView切换到后台但仍然与窗口关联时是否raster tiles,打开它可以避免在WebView从后台切换到前台时重新绘制,默认值false。在这种模式下后台的WebView占用更多的内存。请按如下准则显示内存的使用:

WebView的尺寸不能比设备的屏幕尺寸更大;
限制在少数WebView上使用该模式;
在可见的WebView和即将显现的WebView上使用;

setPluginState (WebSettings.PluginState state) 

在API18以上已废弃。未来将不支持插件,不要使用。告诉WebView启用、禁用或者有即用(on demand)的插件,即用模式是指如果存在一个可以处理嵌入内容的插件,会显示一个占位图标,点击时开启。默认值OFF。

setRenderPriority (WebSettings.RenderPriority priority) 

在API18以上已废弃。不建议调整线程优先级,未来版本不会支持这样做。设置绘制(Render,很多书上翻译成渲染,貌似很专业,但是不易懂,不敢苟同)线程的优先级。不像其他设置,同一进程中只需调用一次,默认值NORMAL。

setSansSerifFontFamily (String font) 

设置无衬线字体集(sans-serif font family)的名字。默认值”sans-serif”.

setSaveFormData (boolean save) 

WebView是否保存表单数据,默认值true。

setSavePassword (boolean save) 

API18以上版本已废弃。未来版本将不支持保存WebView中的密码。设置WebView是否保存密码,默认true。

setSerifFontFamily (String font) 

设置衬线字体集(serif font family)的名字,默认“sans-serif”。

setStandardFontFamily (String font) 

设置标准字体集的名字,默认值“sans-serif”。

setSupportMultipleWindows (boolean support) 

设置WebView是否支持多窗口。如果设置为true,主程序要实现onCreateWindow(WebView, boolean, boolean, Message),默认false。

setSupportZoom (boolean support) 

WebView是否支持使用屏幕上的缩放控件和手势进行缩放,默认值true。设置setBuiltInZoomControls(boolean)可以使用特殊的缩放机制。该项设置不会影响zoomIn() and zoomOut()的缩放操作。

setTextSize (WebSettings.TextSize t) 

API14版本以上已废弃。请取代使用setTextZoom(int)。设置页面文本的尺寸,默认NORMAL。

setTextZoom (int textZoom) 

设置页面上的文本缩放百分比,默认100。

setUseWideViewPort (boolean use) 

WebView是否支持HTML的“viewport”标签或者使用wide viewport。设置值为true时,布局的宽度总是与WebView控件上的设备无关像素(device-dependent pixels)宽度一致。当值为true且页面包含viewport标记,将使用标签指定的宽度。如果页面不包含标签或者标签没有提供宽度,那就使用wide viewport。

setUserAgentString (String ua) 

设置WebView的用户代理字符串。如果字符串为null或者empty,将使用系统默认值。注意从KITKAT版本开始,加载网页时改变用户代理会让WebView再次初始化加载。

supportMultipleWindows () 

获取WebView是否支持多窗口的值。

supportZoom () 

获取WebView是否支持缩放的值。

转载自:http://blog.csdn.net/ljx19900116/article/details/45028513

你可能感兴趣的:(Android开发)