webView使用

webView使用

1、  概述

Webview就是起到内嵌浏览器的作用

 

2、  FAQ遇到的问题也比较多

需求是在TV里调用支付宝的url显示他的二维码

Js 不显示

webView.getSettings().setJavaScriptEnabled(true);

二维码居中(原来是左右两列)

webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

直接跳到浏览器,嵌套不住

// 防止跑到浏览器界面去

webView.setWebViewClient(new WebViewClient() {

    public boolean shouldOverrideUrlLoading(WebView view, String url) {

              hold.webView.loadUrl(url);

              return true;

           }

    });

添加滚动条,加载条

webView.setWebChromeClient(new WebChromeClient() {

              @Override

              public void onReceivedTitle(WebView view, String title) {

 

                  super.onReceivedTitle(view, title);

              }

 

              @Override

              public void onProgressChanged(WebView view, int progress) {

 

                  if (progress == 100) {

                     progressBar.setVisibility(View.GONE);

                  }

                  super.onProgressChanged(view, progress);

              }

 

           });

加载html文件

webView.loadUrl("file:///android_asset/a.html");

 

html的字符串不行。因为有js渲染(背景渲染不出来)

webView.loadDataWithBaseURL(null, htmlString, "text/html",  "utf-8", null);

解决:

webView.loadData(URLEncoder.encode(htmlString, "utf-8"), "text/html", "utf-8");

 

没有配置这些 直接加载  http://baidu.com 居然会是白色

webView.getSettings().setJavaScriptEnabled(true);//支持jsp

webView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);//适应屏幕,单列居中

webView.getSettings().setUseWideViewPort(true);

webView.getSettings().setLoadWithOverviewMode(true);

webView.setFocusable(false);

webView.setHorizontalScrollBarEnabled(false);

webView.setVerticalScrollBarEnabled(false);

webView.getSettings().setDefaultTextEncodingName("utf-8");

 

           // 防止Uncaught TypeError: Cannot call method

           webView.getSettings().setDomStorageEnabled(true);

 

           // 防止跑到浏览器界面去

           webView.setWebViewClient(new WebViewClient() {

              public boolean shouldOverrideUrlLoading(WebView view, String url) {

                  hold.webView.loadUrl(url);

 

                  returntrue;

              }

           });

 

           // 此处能拦截超链接的url,即拦截href请求的内容.

           webView.setWebChromeClient(new WebChromeClient() {

              @Override

              public void onReceivedTitle(WebView view, String title) {

 

                  super.onReceivedTitle(view, title);

              }

 

              @Override

              public void onProgressChanged(WebView view, int progress) {

 

                  if (progress == 100) {

                     progressBar.setVisibility(View.GONE);

                  }

                  super.onProgressChanged(view, progress);

              }

 

           });

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值