android WebView常见功能处理(视频全屏,错误页等)

虽然android的webview现在可以直接接入腾讯的X5或者UC WebView SDK,都号称更稳定更快和适配更方便。但实际开发中不一定所有的产品都会接入它们,像x5在视频全屏时会有QQ浏览器的下载链接(我没查文档,不知道可不可以去掉的),一不小心点到就去下载了,且在我使用的时候就适配而言并没有比原生的好多少。不论怎么说多会点东西总不会亏。本篇文章讲的是1、修改WebView原本的错误页处理2、页面跳转的处理3、页面加载进度条的处理4、视频全屏处理。主要实现方式就是处理WebViewClient和WebChromeClient。不喜欢看说明的可以直接拉到底部有demo下载地址。本文地址:http://blog.csdn.net/lanqi_x/article/details/70157453

一、修改WebView原本的错误页处理和页面跳转的处理,这两个功能是在WebViewClient中处理。

1、页面跳转的处理基本上所有的android开发者都知道怎么处理,就不多说了,直接贴代码

/**
     * 点击网页中按钮时,让其还在原页面打开
     */
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("http")) {
            if (loadNewUrlListener != null) {
                if (!loadNewUrlListener.loadNewUrl(view, url)) {
                    view.loadUrl(url);
                }
            } else {
                view.loadUrl(url);
            }
        } else {
//            非http和https请求丢给系统处理,比如拨打电话等
            try {
                Intent intent = new Intent(Intent.ACTION_VIEW,
                        Uri.parse(url));
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                        | Intent.FLAG_ACTIVITY_SINGLE_TOP);
                view.getContext().startActivity(intent);
            } catch (Exception e) {
//                没有安装对应的应用会抛异常
                e.printStackTrace();
            }
        }
        return true;
    }


2、修改WebView原本的错误页,这个我的处理思路是当页面加载错误时,会调用onReceivedError方法,在这个时候我把WebView给隐藏了,然后拿到WebView的父控件,在对于WebView的位置上加入我自己定义的错误页布局。当重新加载没有错误时就把这个错误页移除掉,再将WebView显示处理。来吧,贴一小段代码吧!

/**
     * 页面加载结束
     *
     * @param view
     * @param url
     */
    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        hideErrorPag
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值