美文网首页
Android开发--WebView的应用

Android开发--WebView的应用

作者: nice荷包蛋 | 来源:发表于2019-06-24 15:12 被阅读0次

    随着Android的发展,在app内打开一个网页的用处越来越多,那么今天就来用说说webview的用法。

    1、打开本地的网页

    首先把文件放入project模式下,app/assets下


    image.png 然后新建一个activity。布局文件 image.png

    在java里写
    `` protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_web_view);
    WebView webview = (WebView)findViewById(R.id.web_view);

        webview.loadUrl("file:///android_asset/PrivacyProtocol.html");
        //实现WebView中链接在WebView内部跳转
        webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
            //自适应屏幕
        webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        webview.getSettings().setLoadWithOverviewMode(true);
            //设置可以支持缩放
        webview.getSettings().setSupportZoom(true);
            //扩大比例的缩放
        webview.getSettings().setUseWideViewPort(true);
    
    }
    

    ``
    大功告成!!

    2、打开在线的页面

    首先第一步很重要的 去AndroidMainfest添加网络权限
    <uses-permission android:name="android.permission.INTERNET" />
    首先定义一个string型的url
    private String Url = "http://www.baidu.com";
    然后就是设置webview
    wb = findViewById(R.id.wb); wb.getSettings().setJavaScriptEnabled(true); wb.getSettings().setBuiltInZoomControls(true); wb.getSettings().setSaveFormData(false); wb.setWebViewClient(webViewClient); wb.loadUrl(Url); wb.setWebViewClient(new WebViewClient() { @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { // TODO Auto-generated method stub // super.onReceivedSslError(view, handler, error); 父类的默认处理方式,内部是handler.cancel(),必须去除 handler.proceed();// 接受所有网站的证书 // handleMessage(Message msg);// 进行其他处理 } } );

    image.png

    ``
    WebViewClient webViewClient = new WebViewClient() {
    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
    super.onPageStarted(view, url, favicon);
    }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
        }
    
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            return super.shouldOverrideUrlLoading(view, request);
        }
    };
    

    重写一下 这个方法

    大功告成

    相关文章

      网友评论

          本文标题:Android开发--WebView的应用

          本文链接:https://www.haomeiwen.com/subject/qnknqctx.html