android WebView控件使用事项

来源:互联网 发布:淘宝客户流失 编辑:程序博客网 时间:2024/06/10 01:52
private WebView webview;
webview = (WebView) findViewById(R.id.webview);webview.getSettings().setJavaScriptEnabled(true);webview.getSettings().setDomStorageEnabled(true);webview.getSettings().setSupportZoom(true);webview.getSettings().setBuiltInZoomControls(true);webview.getSettings().setDatabaseEnabled(true);String databasePath = this.getApplicationContext().getDir("database", Context.MODE_PRIVATE).getPath();webview.getSettings().setDatabasePath(databasePath);


1,webView 下载功能

webview.setDownloadListener(new DownloadListener() {@Overridepublic void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {// TODO Auto-generated method stubUri uri = Uri.parse(url);Intent intent = new Intent(Intent.ACTION_VIEW, uri);startActivity(intent);}});


2,webView加载url

webview.loadUrl(h5urlString);webview.setWebViewClient(new HelloWebViewClient());

3,webView 显示进度条

   webview.setWebChromeClient(new WebChromeClient() {@Overridepublic void onProgressChanged(WebView view, int newProgress) {// TODO Auto-generated method stubsuper.onProgressChanged(view, newProgress);pb_detail.setProgress(newProgress);pb_detail.postInvalidate();if (newProgress == 100) {pb_detail.setVisibility(View.GONE);}}@Overridepublic void onReceivedTitle(WebView view, String title) {// TODO Auto-generated method stubsuper.onReceivedTitle(view, title);// tv_title.setText(title);}});


4,webView加载不了h5时 显示错误页面

private class HelloWebViewClient extends WebViewClient {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);return true;}@Overridepublic void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {// TODO Auto-generated method stubsuper.onReceivedError(view, errorCode, description, failingUrl);view.loadData(Constant.Error_Html, "text/html;charset=UTF-8", null);}@Overridepublic void onPageStarted(WebView view, String url, Bitmap favicon) {super.onPageStarted(view, url, favicon);}@Overridepublic void onPageFinished(WebView view, String url) {super.onPageFinished(view, url);}}


5,当按物理返回键时,webView 页面一层一层返回

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {// TODO Auto-generated method stubif (keyCode == KeyEvent.KEYCODE_BACK) {if (webview.canGoBack()) {webview.goBack();return true;}}return super.onKeyDown(keyCode, event);}


0 0
原创粉丝点击