Android WebView详解和调用JS,Android事件分发机制收藏这一篇就够了

本文详细介绍了Android中WebView的使用,包括加载网页、设置WebChromeClient和WebViewClient以处理加载进度、错误处理、JavaScript交互,以及缓存策略。通过示例代码展示了如何在返回时控制浏览历史,以及如何自定义加载失败的页面。
摘要由CSDN通过智能技术生成

等都可以实现WebView的使用。

(3)然后就可以在网页:

//WebView加载web资源

mWebView.loadUrl(“https://www.baidu.com/”);

实例使用

(1)设置网页顶部加载进度条(判断页面加载过程):

WebSettings mWebSettings = mWebView.getSettings();

mWebSettings.setJavaScriptEnabled(true);

mWebView.setWebChromeClient(new WebChromeClient() {

@Override

public void onProgressChanged(WebView view, int newProgress) {

super.onProgressChanged(view, newProgress);

if (newProgress == 100) {

mProgressBar.setVisibility(View.GONE);

} else {

mProgressBar.setVisibility(View.VISIBLE);

mProgressBar.setProgress(newProgress);

}

}

});

(2)如果希望浏览的网页后退而不是退出浏览器,需要WebView覆盖URL加载,让它自动生成历史访问记录,那样就可以通过前进或后退访问已访问过的站点。

/**

  • 在onKeyDown中设置webView在返回的时候

  • 自动记录浏览记录

  • @param keyCode

  • @param event

  • @return

*/

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK){

if (mWebView.canGoBack()){

mWebView.goBack();

return true;

}else {

finish();

}

}

return super.onKeyDown(keyCode, event);

}

(3)创建一个自己的WebViewClient,通过setWebViewClient关联

//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器

view.loadUrl(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值