`

WebView属性详解

 
阅读更多

1. 打开网页时不调用系统浏览器, 而是在本WebView中显示:

 

 

mWebView.setWebViewClient(new WebViewClient(){

      @Override

      public boolean shouldOverrideUrlLoading(WebView view, String url) {

          view.loadUrl(url);

          return true;

      }

  });

 

2. 通过Java代码调用JavaScript

 

 

WebSettings webSettings =   mWebView .getSettings();       

webSettings.setJavaScriptEnabled(true); 

mWebView.addJavascriptInterface(new Object() {       

            public void clickOnAndroid() {       

                mHandler.post(new Runnable() {       

                    public void run() {       

                        webview.loadUrl("javascript:wave()");       

                    }       

                });       

            }       

        }, "demo"); 

 

3. 按返回键时, 不退出程序而是返回上一浏览页面:

 

 

public boolean onKeyDown(int keyCode, KeyEvent event) {       

        if ((keyCode == KeyEvent.KEYCODE_BACK) &&   mWebView .canGoBack()) {       

            webview.goBack();       

                   return true;       

        }       

        return super.onKeyDown(keyCode, event);       

    }

 

4. 打开页面时, 自适应屏幕:

 

WebSettings webSettings =   mWebView .getSettings();       

webSettings.setUseWideViewPort(true);//设置此属性,可任意比例缩放

webSettings.setLoadWithOverviewMode(true);

5. 便页面支持缩放:

 

WebSettings webSettings =   mWebView .getSettings();       

webSettings.setJavaScriptEnabled(true);  

webSettings.setBuiltInZoomControls(true);

webSettings.setSupportZoom(true);

6.如果webView中需要用户手动输入用户名、密码或其他,则webview必须设置支持获取手势焦点。

 

webview.requestFocusFromTouch();

7.WebView 加载界面主要调用三个方法:LoadUrl、LoadData、LoadDataWithBaseURL. 

 

1、LoadUrl            直接加载网页、图片并显示.(本地或是网络上的网页、图片、gif)  

2、LoadData           显示文字与图片内容 (模拟器1.5、1.6)  

3、LoadDataWithBase  显示文字与图片内容(支持多个模拟器版本) 

8.WebSettings 的常用方法介绍

 

 

setJavaScriptEnabled(true);  //支持js

 

setPluginsEnabled(true);  //支持插件 

 

setUseWideViewPort(false);  //将图片调整到适合webview的大小 

 

setSupportZoom(true);  //支持缩放 

 

setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //支持内容重新布局  

 

supportMultipleWindows();  //多窗口 

 

setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);  //关闭webview中缓存 

 

setAllowFileAccess(true);  //设置可以访问文件 

 

setNeedInitialFocus(true); //当webview调用requestFocus时为webview设置节点

 

webview webSettings.setBuiltInZoomControls(true); //设置支持缩放 

 

setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 

 

setLoadWithOverviewMode(true); // 缩放至屏幕的大小

 

setLoadsImagesAutomatically(true);  //支持自动加载图片

 

9.WebViewClient 的方法全解

 

 

doUpdateVisitedHistory(WebView view, String url, boolean isReload)  //(更新历史记录) 

 

onFormResubmission(WebView view, Message dontResend, Message resend) //(应用程序重新请求网页数据) 

 

onLoadResource(WebView view, String url) // 在加载页面资源时会调用,每一个资源(比如图片)的加载都会调用一次。 

 

onPageStarted(WebView view, String url, Bitmap favicon) //这个事件就是开始载入页面调用的,通常我们可以在这设定一个loading的页面,告诉用户程序在等待网络响应。 

 

onPageFinished(WebView view, String url) //在页面加载结束时调用。同样道理,我们知道一个页面载入完成,于是我们可以关闭loading 条,切换程序动作。 

 

onReceivedError(WebView view, int errorCode, String description, String failingUrl)// (报告错误信息) 

 

onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host,String realm)//(获取返回信息授权请求) 

 

onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) //重写此方法可以让webview处理https请求。

 

onScaleChanged(WebView view, float oldScale, float newScale) // (WebView发生改变时调用) 

 

onUnhandledKeyEvent(WebView view, KeyEvent event) //(Key事件未被加载时调用) 

 

shouldOverrideKeyEvent(WebView view, KeyEvent event)//重写此方法才能够处理在浏览器中的按键事件。 

 

shouldOverrideUrlLoading(WebView view, String url) 

//在点击请求的是链接是才会调用,重写此方法返回true表明点击网页里面的链接还是在当前的webview里跳转,不跳到浏览器那边。这个函数我们可以做很多操作,比如我们读取到某些特殊的URL,于是就可以不打开地址,取消这个操作,进行预先定义的其他操作,这对一个程序是非常必要的。

分享到:
评论

相关推荐

    webView属性详解以及用法

    详细介绍说明了webview的属性以及基本的用法

    Android应用开发详解

    《Android应用开发详解》 作者:郭宏志 编著 内容简介 本书分为三个部分,包括基础篇、技术篇和应用篇。由浅入深地讲述了Android应用开发的方方面面。 第一篇 基础篇 第1章 Android概述 Android概述,讲述了...

    微信小程序 location API实例详解

    location API也就分这里分两种wx.getLocation(object)获取当前位置和wx.openLocation(object)通过经纬度打开内置地图。...主要属性: wx.getLocation(object)获取当前位置 成功之后返回参数 wx.openLocation(object)

    微信小程序图片自适应支持多图实例详解

    微信小程序图片自适应支持多图实例详解 微信小程序图片自适应,是一个比较常见的需求,平时我们在WEBView中,只需要设置max-width:100%.在微信里面虽然widthFix也能实现,但有一个缺陷就是图片的宽度值要大于或者...

    Android 倒计时控件 CountDownView的实例代码详解

    主要介绍了Android 倒计时控件 CountDownView的实例代码,代码简单易懂,非常不错,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

    深入Android Browser配置管理的详解

    Settings是WebView提供给上层App的一个配置Webview的接口,每个WebView都有一个WebSettings,要控制WebView的行为,只能通过WebView.getSettings()获取WebSettings对象的引用,然后再改变它的属性。Browser有一个...

    Android网易有道词典案例源码分享

    Android搜索框SearchView属性和用法详解 关于各种搜素: http://android.xsoftlab.net/guide/topics/search/index.html SearchBar控件:大家还可以尝试使用SearchBar控件 WebView控件: (巧妙使用该控件可以开发出...

    实例详解android studio如何导入.so文件的方法

    下面是通过自己写的一个demo,绝对不是官方demo,来给大家讲述了如何在android studio如何导入.so文件的流程和方法,欢迎大家在下方留言讨论指正。 1,android studio如何...7,属性动画效果. 我能写出这篇文章,也是被

    android开发揭秘PDF

    5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween动画 5.3.2 Frame动画 5.3.3 GIF动画播放 5.4 小结 第6章 Android数据存储 6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据...

    Android实例代码

    5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type属性与intent-filter配置; Extra属性; 5.3、使用Intent创建Tab页面: 第6章...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    5.1、Intent对象详解: 5.2、Intent的属性及intent-filter配置:Component属性; Action、Category属性与intent-filter配置; Data、Type属性与intent-filter配置; Extra属性; 5.3、使用Intent创建Tab页面: 第6...

    微信小程序 WXML、WXSS 和JS介绍及详解

    前几天折腾了下。然后列出一些实验结果,供大家...并且wxml的parser会把标签上的不在白名单上的属性都去掉,class, id, data 这些应该都在白名单内,但是href什么的是不会有的,所以如果你用传统的html的标签构建页面

    《Android应用开发揭秘》附带光盘代码.

     5.2.12 获得屏幕属性  5.3 动画实现  5.3.1 Tween动画  5.3.2 Frame动画  5.3.3 GIF动画播放  5.4 小结  第6章 Android数据存储  6.1 Android数据存储初探  6.2 数据存储之Shared Preferences  6.3 数据...

    《Android应用开发揭秘》源码

     5.2.12 获得屏幕属性  5.3 动画实现  5.3.1 Tween动画  5.3.2 Frame动画  5.3.3 GIF动画播放  5.4 小结  第6章 Android数据存储  6.1 Android数据存储初探  6.2 数据存储之Shared Preferences  6.3 数据...

    Android应用开发揭秘pdf高清版

    5.2.12 获得屏幕属性 5.3 动画实现 5.3.1 Tween动画 5.3.2 Frame动画 5.3.3 GIF动画播放 5.4 小结 第6章 Android数据存储 6.1 Android数据存储初探 6.2 数据存储之Shared Preferences 6.3 数据存储之Files 6.4 数据...

Global site tag (gtag.js) - Google Analytics