Android中WebView加载网页设置进度条 您所在的位置:网站首页 webview进度条 Android中WebView加载网页设置进度条

Android中WebView加载网页设置进度条

#Android中WebView加载网页设置进度条| 来源: 网络整理| 查看: 265

package com.example.webview;

  

import android.os.Bundle;

import android.app.Activity;

import android.transition.Visibility;

import android.view.KeyEvent;

import android.view.Menu;

import android.view.View;

import android.view.Window;

import android.webkit.WebChromeClient;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.ProgressBar;

  

public class MainActivity extends Activity {

    

  private WebView webView;

  private ProgressBar pg1;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);

    setContentView(R.layout.activity_main);

    init();

    webView.loadUrl("http://www.baidu.com");

  }

  

  private void init() {

    // TODO 自动生成的方法存根

    webView=(WebView) findViewById(R.id.webview1);

    pg1=(ProgressBar) findViewById(R.id.progressBar1);

      

    webView.setWebViewClient(new WebViewClient(){

      //覆写shouldOverrideUrlLoading实现内部显示网页

      @Override

      public boolean shouldOverrideUrlLoading(WebView view, String url) {

        // TODO 自动生成的方法存根

        view.loadUrl(url);

        return true;

      }

    });

    WebSettings seting=webView.getSettings();

    seting.setJavaScriptEnabled(true);//设置webview支持javascript脚本

    webView.setWebChromeClient(new WebChromeClient(){

      @Override

      public void onProgressChanged(WebView view, int newProgress) {

        // TODO 自动生成的方法存根

          

        if(newProgress==100){

          pg1.setVisibility(View.GONE);//加载完网页进度条消失

        }

        else{

          pg1.setVisibility(View.VISIBLE);//开始加载网页时显示进度条

          pg1.setProgress(newProgress);//设置进度值

        }

          

      }

    });

      

  }

  

    

  //设置返回键动作(防止按返回键直接退出程序)

  @Override

  public boolean onKeyDown(int keyCode, KeyEvent event) {

    // TODO 自动生成的方法存根

    if(keyCode==KeyEvent.KEYCODE_BACK) {

      if(webView.canGoBack()) {//当webview不是处于第一页面时,返回上一个页面

        webView.goBack();

        return true;

      }

      else {//当webview处于第一页面时,直接退出程序

        System.exit(0);

      }

        

      

    }

    return super.onKeyDown(keyCode, event);

  }

    

  

}



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有