android 一个封装的webview

 

 

大神的CSDN:https://github.com/Justson/AgentWeb。

 

添加依赖

 

 

compile 'com.just.agentweb:agentweb:1.2.2'

 

 

 

基本使用

 

 

	agentWeb = agentWeb.with(this)//传入Activity
                .setAgentWebParent(linearlayout, new LinearLayout.LayoutParams(-1, -1))//传入AgentWeb 的父控件 ,如果父控件为 RelativeLayout , 那么第二参数需要传入 RelativeLayout.LayoutParams
//                .closeProgressBar()//关闭进度条
                .useDefaultIndicator()// 使用默认进度条
//                .setIndicatorColor(R.color.colorAccent)//设置进度条颜色
                .setIndicatorColorWithHeight(ContextCompat.getColor(this,R.color.colorAccent),5)//设置进度条颜色和宽度
//                .defaultProgressBarColor() // 使用默认进度条颜色
                .setReceivedTitleCallback(mCallback) //设置 Web 页面的 title 回调
                .setWebViewClient(mWebViewClient)
                .setWebChromeClient(mWebChromeClient)
                .createAgentWeb()
                .ready()
                .go("http://www.jd.com");agentWeb = agentWeb.with(this)//传入Activity
                .setAgentWebParent(linearlayout, new LinearLayout.LayoutParams(-1, -1))//传入AgentWeb 的父控件 ,如果父控件为 RelativeLayout , 那么第二参数需要传入 RelativeLayout.LayoutParams
//                .closeProgressBar()//关闭进度条
                .useDefaultIndicator()// 使用默认进度条
//                .setIndicatorColor(R.color.colorAccent)//设置进度条颜色
                .setIndicatorColorWithHeight(ContextCompat.getColor(this,R.color.colorAccent),5)//设置进度条颜色和宽度
//                .defaultProgressBarColor() // 使用默认进度条颜色
                .setReceivedTitleCallback(mCallback) //设置 Web 页面的 title 回调
                .setWebViewClient(mWebViewClient)
                .setWebChromeClient(mWebChromeClient)
                .createAgentWeb()
                .ready()
                .go("http://www.jd.com");

 

 

获取title:

 

 

/**
     * 获取title
     */
    ChromeClientCallbackManager.ReceivedTitleCallback mCallback = new ChromeClientCallbackManager.ReceivedTitleCallback() {
        @Override
        public void onReceivedTitle(WebView view, String title) {
            Toast.makeText(WebViewActivity.this, "这个是标题哦 ==>   " + title, Toast.LENGTH_SHORT).show();
        }
    };


返回键的监听:

 

 

 

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (agentWeb.handleKeyEvent(keyCode, event)) {
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

 

 

释放资源:

 

 

/**
     * 跟随生命周期释放资源更省电
     */
    @Override
    protected void onPause() {
        agentWeb.getWebLifeCycle().onPause();
        super.onPause();

    }

    @Override
    protected void onResume() {
        agentWeb.getWebLifeCycle().onResume();
        super.onResume();
    }

 


关于界面监听:

 

 

 

 

//WebViewClient 用于监听界面的开始和结束
    private WebViewClient mWebViewClient=new WebViewClient(){
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            //界面开始
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            //界面结束
        }
    };

    //WebChromeClient 监听界面的改变
    private WebChromeClient mWebChromeClient=new WebChromeClient(){
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            //界面改变
        }
    };

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值