WebView简单入门

QuibblerQuibbler 2020-02-07 约 5 分钟 1851 次阅读

WebView简单入门

WebView是非常复杂的控件之一,用的不多,简单记录一些基本用法。

1、布局中添加WebView

直接在布局中添加WebView控件

<WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />



2、WebView

加载网页使用loadUrl方法。

①可以加载网页链接。

mWebView.loadUrl(url);

②加载assets/目录下的html页面,需要加上前缀file:///android_asset/。关于assets资源另见 assets资源 一文。

mWebView.loadUrl("file:///android_asset/路径");

设置完url,还不能加载页面,继续往下看,还需要WebViewClient。

3、WebViewClient

WebView一定要设置一个WebViewClient才能加载页面,Android提供了一个默认的WebViewClient不过里面都是空方法。

mWebView.setWebViewClient(new WebViewClient());

我们可以继承WebViewClient,重写其中的一些方法,在网页加载不同的状态时会调用。

new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return false;
        }
        
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
        }
        
        @Override
        public void onPageFinished(WebView view, String url) {
        }
        
        @Override
        public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        }
        
        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        }
        ... ...
    };

4、WebSetting

WebView还可以进行一些设置,先通过WebView对象,拿到客户端的WebSetting进行设置

WebSettings webSettings = mWebView.getSettings();

进行一些设置:

//自动加载页面图片
    webSettings.setLoadsImagesAutomatically(true);
    //页面文字编码
    webSettings.setDefaultTextEncodingName("utf-8");
    //支持网页放缩
    webSettings.setSupportZoom(true);
    //显示放缩控制
    webSettings.setDisplayZoomControls(true);
    //一般都需要允许JavaScript
    webSettings.setJavaScriptEnabled(true);
    //允许JavaScript打开窗口
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
    //显示算法
    webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);

更多参考:

        《WebView全面解析》

        Android webview 显示doc,pdf文件

相关推荐

WilliamChart:轻量美观的 Android 图表库实战
精选开源

WilliamChart:轻量美观的 Android 图表库实战

WilliamChart:轻量美观的 Android 图表库实战数据可视化是运动、健康、金融、统计类 App 的刚需。MPAndroidChart 功能最全但偏重复杂,WilliamChart 走的则是"轻量 + 美观 + Kotlin 原生"路线——v3 用 Kotlin 完全重写,API 极简,一行 chart.animate(dataSet) 就能把数据画成带动画的折线/柱状/环形图,开箱即

175