WebView是安卓系统中基于 WebKit 引擎的组件,用于在应用程序内直接显示网页内容,无需跳转到外部浏览器,从而提升链接交互的速度和尝试。其中,WebView作为预装在大多数安卓设备上的系统组件,该软件能借助 Chrome技术,使应用能在自身界面中加载网页内容。
WebView是一种用于在移动应用中嵌入并显示网页内容的可视化组件。它允许开发者在原生应用中集成前端技术(如 HTML、CSS、JavaScript),从而实现混合式开发。通过 WebView,用户可以在应用内直接访问网页,无需切换到外部浏览器,提升了用户尝试和应用的灵活性。大多数混合式开发框架,如 Cordova 和 React Native,都是基于 WebView 模式进行二次开发,以实现跨平台应用的快速构建。WebView 的核心功能包括加载和显示网页内容、支持前端技术、提供与原生代码的交互接口,以及优化应用的开发效率和用户尝试。

WebView无需用户切换应用即可打开链接,避免中断,提供更流畅的浏览尝试。
基于 Chrome 技术,WebView 能接收安全更新,保障用户在应用内浏览时的安全性。
允许开发者将网页集成到应用中,无需开发内部浏览器,降低开发成本和难度。

支持本地和远程 HTML、CSS、JavaScript 等资源,可通过 `loadUrl()` 方法加载特定 URL,并通过设置 `JavaScriptEnabled` 属性启用或禁用 JavaScript。
WebView组件内提供多种 API 获取网页元素信息(如标题、链接、图片等),并通过 JavaScript 处理用户交互操作(如点击链接或填写表单)。
通过 `WebSettings` 类可设置缩放控件、缓存模式、编码格式等;借助 `WebViewClient` 和 `WebChromeClient` 类处理页面加载和事件通知。
一、背景设置
WebView.setBackgroundColor(0);//先设置背景色为transparent
WebView.setBackgroundResource(R.drawable.yourImage);//然后设置背景图片
二、获得WebView网页加载初始化和完成事件
步骤
1、创建一个自己的WebViewClient(继承 WebViewClient 类)如WebViewClient
2、重载里面的 onPageFinished(WebView view, String url)方法,(webview加载完成会调用这个方法),这个方法放自己想要做的事情,在webview加载完成以后
3、关联你自己的webviewclient 与 webview 通过 这个方法:webView.setWebViewClient( new WebViewClient();
如果需要监视加载进度的,需要创建一个自己的WebChromeClient类,并重载方法onProgressChanged,再
布局文件
要注意的是,其中的webView的一系列用法,比如 webView.getSettings()。setJavaScriptEnabled(true);设置可以使用javscript;
等等,具体参考API
而进度条的使用是在new出一个setWebChromeClient后,可以在内部类中写onProgressChanged事件
总结:在WebView的设计中,不是什么事都要WebView类干的,有些杂事是分给其他人的,这样WebView专心干好自己的解析、渲染工作就行了。
WebViewClient就是帮助WebView处理各种通知、请求事件的,具体来说包括
onLoadResource
onPageStart
onPageFinish
onReceiveError
onReceivedHttpAuthRequest
WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
onCloseWindow(关闭WebView)
onCreateWindow()
onJsAlert (WebView上alert是弹不出来东西的,需要定制你的WebChromeClient处理弹出)
onJsPrompt
onJsConfirm
onProgressChanged
onReceivedIcon
onReceivedTitle