Android WebView 基础

描述

WebView是Android系统中内置了的一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。

用途

应用内嵌浏览器,并显示网页内容。
android 自带的 textview 不支持长按文本复制,webview 自带长按复制文本内容的功能。
应用在内容显示上,对动画的丰富性要求较高,可以使用 webview 加载支持javascript的网页显示动画内容。

所需应用权限

AndroidManifest.xml 需要添加 "android.permission.INTERNET"权限。

开发相关

XML文件中显示webview组件。


加载内容

webView.loadUrl(url);
webView.loadUrl(url, extraHeaders);
webView.loadData(data, mimeType, encoding);
webView.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);

设置属性

WebSettings setting = webView.getSettings();
setting.setSupportZoom(true);//支持缩放
setting.setTextSize(TextSize);//页面中字体大小 --TextSize.LARGER
setting.setJavaScriptEnabled(true);//对javascript的支持

webview显示网页的前进与后退

webView.canGoBack();
webView.goBack(); //后退
webView.canGoForward();
webView.goForward(); //前进

//ps:使用webview浏览网页,点击系统“Back”键会finish()activity,因此
//需要拦截返回键的监听
public boolean onKeyDown(int keyCode, KeyEvent event) {       
        if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {       
            webView.goBack();       
                   return true;       
        }       
        return super.onKeyDown(keyCode, event);       
    }

当网页中有链接时,如果希望不点击链接继续在当前webview里面显示内容,而不是打开系统浏览器或者第三方浏览器,需要设置WebViewClient属性。

webView.setWebViewClient(new WebViewClient(){       
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {       
                        view.loadUrl(url);       
                        return true;       
                    }       
        });

监听页面中javascript中的简单事件

//demo.html
       
  
                    

你可能感兴趣的:(Android WebView 基础)