WebView是android.webkit包下的一个组件,能用来显示网页。
WebView默认是不带地址栏和加载进度条的,单单是一个显示页面内容的面板。
使用WebView非常简单,主要是通过load方法进行加载。
[使用WebView打开一个网页]
1.在布局xml文件中定义WebView组件
<
WebView
android:id
=
"@+id/webview"
android:layout_width
=
"match_parent"
android:layout_height
=
"match_parent"
/>
2.在AndroidManifest.xml中添加网络访问权限
<
uses-permission
android:name
=
"android.permission.INTERNET"
/
>
3.通过load函数加载网页
mWebview
= (WebView)
this
.findViewById(R.id.
webview
);
// 简单地加载一个页面
// 加载assets目录下的页面(assets\index.html)
mWebview
.loadData(
"file:///android_asset/index.html"
);
但你会发现,如果点击页面的某条链接进行跳转的话,会启动系统的默认浏览器进行加载,调出了我们本身的应用。要解决这个问题我们需要借助于WebViewClient。
[自定义链接的跳转显示]
mWebview
.setWebChromeClient(
new
WebViewClient() {
/**
* 自定义网页加载
*/
public
boolean
shouldOverrideUrlLoading(WebView view, String url){
// 使用当前的WebView加载页面
view.loadUrl(url);
return
true
;
}
});
在WebViewClient中还有很多的方法,例如:
/**
* 网页开始加载
*/
public
void
onPageStarted(WebView view, String url, Bitmap favicon);
/**
* 网页加载完毕(仅指主页,不包括图片)
*/
public
void
onPageFinished(WebView view, String url);
/**
* 加载页面资源
*/
public
void
onLoadResource(WebView view, String url)
/**
* 错误提示
*/
public
void
onReceivedError(WebView view,
int
errorCode, String description, String failingUrl)
我们都可以通过重写来实现自己的个性化操作。
[页面回退]
实现了跳转后,你忽然想返回到前一个浏览过的页面是,发现返回键是直接退出应用了。要实现类似系统浏览器那样的,返回键先是返回到上一个页面,直到最初始的页面才退出的话,可以这么做:
// 重写onKeyDown
public
boolean
onKeyDown
(
int
keyCode, KeyEvent event) {
if
((keyCode == KeyEvent.
KEYCODE_BACK
) &&
mWebview
.canGoBack()) {
mWebview
.goBack();
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
[进度条]
要是再加上加载进度条那就完美了,我们可以借助WebChromeClient来实现:
mWebview
.setWebChromeClient(
new
WebChromeClient()
{
/**
* 进度条发生变化
*/
public
void
onProgressChanged
(WebView view,
int
newProgress){
loadingProgress
.setProgress(newProgress);
}
});
>>更多的WebView的使用说明请参考API文档。
分享到:
相关推荐
在Android开发中,Webview通常被用来加载网页内容并实现应用程序与网页之间的交互。然而,有时我们可能有需求在不依赖Webview的情况下实现Android应用与JavaScript的交互。本文将深入探讨这种非Webview方式的交互...
总之,"Android 基于x5Webview 浏览文件 office文档"涉及到的关键知识点包括:1) 集成和使用X5WebView;2) 转换Office文档为在线预览链接;3) 处理Android 11的存储权限问题;4) 实现WebView的相关交互功能,如加载...
以上就是Android中使用WebView的基本操作,通过这些基础,你可以根据需求进行更复杂的定制,例如实现离线缓存、注入JavaScript对象、处理网页中的图片和视频等。在实际开发中,WebView经常被用来构建混合应用,结合...
这个简单的例子展示了WebView在Android开发中的基本使用,但实际应用中,开发者可能还需要实现更多的功能,例如添加网页拦截器(WebViewClient的`onReceivedError`或`onReceivedHttpError`方法),处理用户登录认证...
在Android应用开发中,WebView是一个非常重要的组件,...以上就是Android APP使用WebView调用H5页面完成摄像头扫描二维码的关键技术点。通过这个示例,开发者可以学习到如何结合原生功能与H5页面,提升APP的用户体验。
在Android开发中,有时我们需要利用第三方库来增强应用的功能...只需了解基本的Web开发和Android环境设置,就能充分利用Cordova提供的便利。在实际项目中,根据需求选择合适的插件,可以极大地提高开发效率和用户体验。
在Android 8.0(API级别26)之前,原生的WebView性能可能无法满足需求,特别是在处理复杂网页时。这时,开发者通常会选择引入腾讯的X5内核,它基于WebKit但进行了大量的优化,提供了更好的性能和稳定性。X5内核支持...
1. **WebView的基本使用**: - `WebView` 是Android SDK中的一个类,继承自 `View`,用于加载和显示网页内容。 - 初始化:在XML布局文件中添加WebView元素,或者在代码中创建并添加到视图层次中。 - 加载网页:...
需要注意的是,在Android 6.0(API级别23)及以上版本中,onPageFinished可能只会被调用一次,这可能会限制该方法的使用场景。 ```java mWebView.setWebViewClient(new WebViewClient() { @Override public void ...
总的来说,这个“android webview 版本69.0”是AOSP的一个组件,基于Chromium,适合那些希望在没有Google服务的情况下使用WebView的应用开发者。开发者在使用时应考虑其更新策略和安全性,同时充分利用其提供的API来...
**Android之WebView使用Demo** 在Android开发中,`WebView`是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,极大地扩展了Android应用的功能。本教程将详细讲解如何在Android应用中使用`WebView...
`INTERNET`权限允许WebView加载网络资源,`CAMERA`权限允许应用使用设备的摄像头,而`WRITE_EXTERNAL_STORAGE`权限则是为了在SD卡上保存拍摄的照片。 接下来,我们要创建一个自定义的WebView类,扩展`WebViewClient...
以上就是关于Android中WebView的基本使用和一些常见操作。在实际项目中,你可能还需要根据需求进行更复杂的定制和优化,例如性能调整、内存管理、错误处理等。通过深入理解和实践,你可以将WebView的功能发挥到极致...
首先,我们要了解`WebView`的基本用法。在Android Studio中,创建一个新的布局XML文件,添加`WebView`组件: ```xml <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_...
然而,不同的Android版本之间可能存在兼容性问题,特别是在涉及到复杂交互或者特定API使用时。针对这个问题,微信团队开发了一个名为X5的Webview引擎,即TBS(Tencent浏览服务),用于提供更稳定、高效的网页加载...
这个文件是Android应用的核心配置文件,其中会包含应用的基本信息以及权限声明。在这个项目中,可能需要声明读取存储权限(READ_EXTERNAL_STORAGE或MANAGE_EXTERNAL_STORAGE),以便Webview能访问到本地视频文件。 ...
通过这个简单的示例,我们可以了解到在Android中使用WebView加载网页以及处理返回键来实现回退到上一个网页的基本操作。不过,实际开发中可能还需要考虑其他因素,如网页加载进度的显示、设置自定义加载错误页面、...
本文将深入探讨如何使用Android WebView加载网页,包括基本使用、配置设置、与JavaScript交互以及处理网络权限等问题。 一、WebView基础 1. 添加依赖 在Android Studio项目中,首先确保在`build.gradle`(Module)...
首先,让我们了解Android Webview的基本用法。Webview是Android SDK提供的一种视图组件,它能够加载和显示网页内容。在Android Studio中创建一个新的项目,我们需要在布局XML文件(如activity_main.xml)中添加一个...
本文将详细介绍如何在Android中使用WebView实现Java程序与JS脚本的相互调用。 ### 1. 添加WebView到布局 首先,在XML布局文件中添加WebView组件,例如在`activity_main.xml`中: ```xml <WebView android:id="@+...