Progressbar WebView就像Chrome浏览器一样

时间:2012-06-23 15:34:58

标签: android progress-bar

有没有人想过在Chrome或Reader等网页浏览中使用进度条? 就像在这里的底部: enter image description here

1 个答案:

答案 0 :(得分:0)

这是我用来显示进度的代码:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
WebView mWvUrl;

@Override
protected void onCreate(Bundle savedInstanceState) {
    final Activity activity=this;
    super.onCreate(savedInstanceState);

    getWindow().requestFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
    setContentView(R.layout.activity_main);
    activity.setProgressBarIndeterminateVisibility(false);
     mWvUrl = (WebView) findViewById(R.id.wv_url);

     mWvUrl.getSettings().setJavaScriptEnabled(true);
     Button btnLoad = (Button) findViewById(R.id.btn_load);
     btnLoad.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
             EditText etUrl = (EditText) findViewById(R.id.et_url);
              mWvUrl.loadUrl(etUrl.getText().toString());
              activity.setProgressBarIndeterminateVisibility(true);
        }
    });

     mWvUrl.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {

                /** This prevents the loading of pages in system browser */
                return false;
            }

            /** Callback method, executed when the page is completely loaded */
            @Override
            public void onPageFinished(WebView view, String url) {
                 super.onPageFinished(view, url);

                 Toast.makeText(getBaseContext(),
                                "Page loaded Completely",
                                Toast.LENGTH_SHORT).show();

                /** Hiding Indeterminate Progress Bar in the title bar*/
                activity.setProgressBarIndeterminateVisibility(false);

            }

        });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

}