WebView简单入门

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

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文件

相关推荐

精选
ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager
Android

ViewPager和PagerAdapter、FragmentPagerAdapter、FragmentStatePager

ViewPager1、ViewPagerandroidx.viewpager.widget.ViewPager,Android中使用非常广泛的控件,可以说是APP必备:首次打开引导页、页面Banner广告等。常用方法:setAdapter() 设置适配器setOffscreenPageLimit() 设置缓存的页面个数,默认是 1setCurrentItem() 跳转到特定的页面setOnPage

1.1k
获取Android内置WebView内核版本
Android

获取Android内置WebView内核版本

获取Android内置WebView内核版本竟然能遇到这样奇葩的事情,网页用的技术过于新颖,以至于只支持高版本Chromium内核的,低版本安卓系统中内置的内核版本较低,无法加载前端页面。1、设置查看在系统设置里 > 应用 > 应用管理 > 显示系统应用,查看WebView组件:2、页面查看通过WebView发起的网络请求,都会带上浏览器的UA,通常页面都可以通过UA判断浏览器的内核版本。这里有两

1.1w
Android 14适配总结
Android

Android 14适配总结

Android 14适配总结毕业工作至今已经适配了三个Android大版本,从Android 11到Android 12、再到Android 13。2023年,Google即将推出的Android 14,上半年已经开始第一批适配。现在,第四个Android版本已经适配完,总结记录一下。1、Android 14计划Google一般会在2月份对外发布预告,同时放出开发者预览版。“拉通”各大平台、厂商以

1.1w