📅  最后修改于: 2023-12-03 14:39:09.257000             🧑  作者: Mango
在 Android 应用程序中,WebView 是一个用于在应用程序中显示网页内容的组件。在本文中,我们将了解 Android WebView 示例,并了解如何在应用程序中使用 WebView。
为了在应用程序中使用 WebView,你需要添加 WebView
组件到你的布局文件中。
示例代码:
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
在应用程序中使用 WebView 显示网页的最简单方法是使用 loadUrl()
方法。loadUrl()
方法加载一个 URL 并显示在 WebView 中。
示例代码:
WebView webView = findViewById(R.id.webview);
webView.loadUrl("https://www.google.com");
WebView 是一个有多种方法和属性的强大组件。在下面的清单中,我们将简要地讨论一些(远非全部)WebView 的方法和属性。
loadUrl()
:加载 URL。
reload()
:重新加载当前的 URL。
goBack()
:返回 WebView 的历史记录。
canGoBack()
:检查 WebView 是否还可以后退。
goForward()
:向前导航 WebView 的历史。
canGoForward()
:检查 WebView 是否还可以前进。
getSettings()
:获取 WebView 的设置。
setWebViewClient()
:设置 WebViewClient。
setWebChromeClient()
:设置 WebChromeClient。
setContentView()
:设置 WebView 的内容视图。
getUrl()
:获取当前 WebView 正在显示的 URL。
getTitle()
:获取当前 WebView 显示的标题。
getProgress()
:获取当前 WebView 加载进度。
WebViewClient 和 WebChromeClient 是两个非常重要的 WebView 类。WebChromeClient 可以访问网页的 JavaScript 和 CSS,而 WebViewClient 则负责处理 WebView 访问网页的 URL。
示例代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
// Do something when the page loading progress changes
}
});
有时你需要在 WebView 中打开 URL,而不是使用系统浏览器打开。为了在 WebView 中处理 URL,你需要实现 shouldOverrideUrlLoading()
方法并设置 WebViewClient。
示例代码:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
下面是一个简单的 WebView 示例。示例代码演示了如何添加 WebView 组件,如何加载 URL,如何处理 URL 和如何获取 WebView 的当前 URL 和标题。
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
WebView webView = findViewById(R.id.webview);
webView.loadUrl("https://www.google.com");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
String currentUrl = webView.getUrl();
String currentTitle = webView.getTitle();
在本文中,我们了解了如何在 Android 应用程序中使用 WebView。我们了解了如何加载网页,如何使用 WebViewClient 和 WebChromeClient,以及如何处理 WebView 中的 URL。我们还提供了一个简单的 WebView 示例。现在,你可以开始在你的应用程序中使用 WebView 了!