好久没在CSDN写博客了,最近有时间把一些之前项目期总结的东西,传上来给大家分享,这是本人花了3天独自翻译的.希望能够帮助,同时也希望大家可以指明错误.博主会更努力,那下面紧接着是WebView的一个小翻译系列.
WebView的介绍
http://blog.csdn.net/l540675759/article/details/54709676WebView翻译的API大全
http://blog.csdn.net/l540675759/article/details/54709664WebView设置之WebViewClient
http://blog.csdn.net/l540675759/article/details/54709687WebView设置之WebChromeClient
http://blog.csdn.net/l540675759/article/details/54709680WebView设置之WebSettings
http://blog.csdn.net/l540675759/article/details/54709690
WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等.
onCloseWindow(关闭WebView)
onCreateWindow(
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle
WebChromeClient.CustomViewCallback
一个回调接口使应用程序通知当前页面的自定义视图将要消失.
onCustomViewHidden()
当应用程序的自定义视图消失的方法被调用.
Bitmap getDefaultVideoPoster()
当应用程序暂停操作时,视频元素是一张海报图像,获得该Image.
getVideoLoadingProgressView()
获得一个View,来作为视频全屏加载时的缓冲视图.
getVisitedHistory(ValueCallback<String[]> callback)
获得所有访问的历史项目的列表,用于链接着色.
onCloseWindow(WebView window)
通知应用程序如果有必要,需要关闭和删除在视图结构中删除给定的WebView,在这一点上,将会停止正在加载的WebView和消除了任何cross-scripting的javascript的能力
boolean onConsoleMessage(ConsoleMessage consoleMessage)
报告一个JavaScript控制台消息到主机应用程序.ChromeClient如果认为合适,那么应该覆盖该消息.
onCreateWindow(WebView view,
boolean isDialog,
boolean isUserGesture,
Message resultMsg)
请求应用程序创建一个新的窗口,如果应用程序选择接受这个请求,它应该从这个方法返回true,然后创建一个新的WebView的窗口,将其插入到视图系统,然后提供resultMsg消息与新的WebView作为参数发送出去.
如果应用程序选择不接受这个请求,他将返回false.
该方法默认情况是没实现的情况下,也就是返回false.
onGeolocationPermissionsHidePrompt()
通知应用程序请求地理定位权限,如果前一个地理定位权限取消了,任何相关的UI应该隐藏起来.在此方法中进行隐藏设置.
onGeolocationPermissionShowPrompt()
通知应用程序,web内容从发出请求使用地理定位的API,但是目前没有权限状态,指定的应用程序应该获得回调所需的权限状态.
具体有关详细信息,请参阅GeolocationPermissions.
onHideCustomView()
当前页面通知主机应用程序已经退出全屏模式.主机应用程序必须将自定义视图隐藏.即,传递给onShowCustomView的View参数,具体可以参阅WebView全屏文档.
boolean onJsAlert(WebView view,
String url,
String message,
JsResult result)
告诉客户端显示JavaScript警告的dialog,如果客户端返回true,WebView将会处理对话框,如果客户端返回false,将会跳过继续执行.
onJsBeforeUnload(WebView view,
String url,
String message,
JsResult result)
告诉客户端显示一个对话框来确认要离开当前界面,这是javaScript的onbeforeunload的方法的结果.
如果客户端返回true,WebView将处理确定对话框和调用适当的JsResult方法.如果客户端返回false,返回true值给JavaScript,然后离开当前页面.
方法的默认行为是返回false,另外设置JsResult为真的话,会离开导航,JsResult为假则将取消离开导航.
onJsConfirm(WebView view,
String url,
String message,
JsResult result
)
通知客户端要展示一个确认的对话框,如果客户端返回true,WebView将会处理这个对话框,如果返回false,那么将会给JavaScripe返回false值,默认的行为是返回false.
boolean onJsPrompt(WebView view,
String url,
String message,
String defaultValue,
JsPromptResult result)
告诉客户端要向用户显示一个提示的对话框,如果客户端返回true,那么WebView将会处理提示对话框和调用适当的JsPromptJResult方法,如果客户端返回false,会将false的值返回给JavaScript.
默认情况下将会返回false.
void onPermissionRequest(PermissionRequest request)
通知主机应用程序Web内容需要访问本地特殊的资源对象,询问应用程序是拒绝还是允许,主机应用程序必须调用grant(String[])或者deny().
这个方法不能被复写,因为调用权限被拒绝.
void onPermissionRequestCanceled(PermissionRequest request)
通知应用程序的权限请求被取消了,任何相关的UI应该被隐藏.
onProgressChanged(WebView view,
int newProgress)
告诉应用程序当前WebView的加载当前界面的进度.
onReceivedIcon(WebView view,Bitmap icon)
通知应用程序接收当前界面新的标识.
onReceivedTitle(WebView view,String title)
通知应用程序当前界面的title改变.
onReceivedTouchIconUrl(WebView view,
String url,
boolean precomposed)
通知应用程序接收/apple-touch-icon的图片地址.
onRequestFocus(WebView view)
请求获得WebView的焦点,这可能由于另一个WebView打开一个连接,需要被展示.
void onShowCustomView(View view,
WebChromeClient.CustomViewCallback callback)
通知主机程序当前界面已进入全屏模式.主机应用程序必须显示自定义视图包含web内容-视频或者其他HTML内容再全屏模式.
详情请关注”Full screen support” documentation “在WebView的文档.
onShowFileChooser(WebView webview,Value)
通知应用程序显示文件的选择器,这是来自HTML需要输入文件的请求,需要用户通过”选择文件”按钮来操作,如果取消请求,那么将会filePathCallback.onReceiverValue(null)并且返回true.