WebView的一些笔记

一般使用wevview的时候无非就是显示加载网页,下面的一些方法参数比较常用:

webView.setInitialScale(100);//webview默认缩放比例为100,要修改则需设置setInitialScale()参数即可
        webView.getSettings().setBuiltInZoomControls(true);//启用缩放功能
        webView.invokeZoomPicker();//显示缩放的小工具
        webView.getSettings().setJavaScriptEnabled(true);//启用JavaScript功能,功能有限,需要WebViewClient和WebChromeClient来配合
        //创建WebViewClient对象指定给webview,使得webview可以开启用户单机的超链接
        webView.setWebViewClient(new WebViewClient());
        //给webview增加进度条
        webView.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                pb.setProgress(newProgress);
                pb.setVisibility(newProgress < 100 ? View.VISIBLE : View.GONE);

            }
        });

        //webView.loadUrl("https://www.jd.com");
        @Override
    public void onBackPressed() {

        //当按下回退键时,如果有上一页就回退,没有就退出程序
        if (webView.canGoBack()) {
            webView.goBack();
            return;
        }
        super.onBackPressed();
    }

    public void search(View v) {
        keyWord = et_keyText.getText().toString().replaceAll("\\s+", "+");
        //将字符串中单一字符或连续空白换成“+”
        webView.loadUrl(baseURL + keyWord);
    }

    @Override
    protected void onPause() {
        super.onPause();
        //获取编辑器对象
        SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
        editor.putString("关键字", keyWord);//存储当前的搜索参数
        editor.commit();//一定要存盘
    }

    @Override
    protected void onResume() {
        super.onResume();
        //获取首选项对象
        SharedPreferences myPref = getPreferences(MODE_PRIVATE);
        keyWord = myPref.getString("关键字", "heheda");//读取存储的字符串,没有则返回heheda
        if (webView.getUrl() == null) {
            webView.loadUrl(baseURL + keyWord);
        }

    }

笔记知识点:
1、webview默认不支持缩放功能、JavaScript。
2、要让webview支持多具备浏览器功能或自定义行为,要搭配android.webkit下的WebSettings、WebViewClient、WebChromeClient类。
3、WebSettings用于控制WebView基本设置(启动网页缩放、javascript等)。调用WebView的getSettings()方法即可获取其WebSettings对象
4、WebViewClient控制WebView本身的行为,可获取用户单机网页中超链接、网页加载的开始结束的等事件的控制权。
5、WebChromeClient的onProgressChanged()会在网页加载进度有异动的时被调用(0~100)。
6、一般程序都是在Activity的onPause()方法中进行存储数据的操作,在onResume()方法中读取先前存储的数据,以恢复Activity的相关状态。

知识点来源于网络,转载注明出处:http://blog.csdn.net/u011771800/article/details/54095054

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值