向webview添加进度条

时间:2010-10-19 11:55:39

标签: java android eclipse android-webview

我一直在尝试在网页视图中放置一个后退按钮进度条,并将网址加载到我的应用中,而不是使用Android默认网络浏览器。

如果我设法继续在应用程序内浏览并保留后退按钮,进度条永远不会显示,如果我设法获取进度条以显示底部的代码foroverideurl出现从未读取和默认浏览器发布,我尝试了所有的谷歌教程和解决方案,但没有一个工作。我目前正在使用谷歌..任何人都可以帮忙??

public class livebrad extends Activity {

WebView mWebView;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);

    // Adds Progrss bar Support
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setContentView(R.layout.brows);

    // Makes Progress bar Visible
    getWindow().setFeatureInt(    Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); 

    // Get Web view
    mWebView = (WebView) findViewById( R.id.webView ); //This is the id you gave 
                                                         //to the WebView in the main.xml
    mWebView.getSettings().setJavaScriptEnabled(true);   
    mWebView.getSettings().setSupportZoom(true);         //Zoom Control on web (You don't need this 
                                                         //if ROM supports Multi-Touch        
    mWebView.getSettings().setBuiltInZoomControls(true); //Enable Multitouch if supported by ROM

    // Load URL
    mWebView.loadUrl("http://www.bbc.co.uk");


    // Sets the Chrome Client, and defines the onProgressChanged
    // This makes the Progress bar be updated.
    final Activity MyActivity = this;
    mWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)   
    {
        //Make the bar disappear after URL is loaded, and changes string to Loading...
        MyActivity.setTitle("Loading...");
        MyActivity.setProgress(progress * 100); //Make the bar disappear after URL is loaded

        // Return the app name after finish loading
        if(progress == 100)
            MyActivity.setTitle(R.string.app_name);

    }class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
    });



}//End of Method onCreate

}

3 个答案:

答案 0 :(得分:1)

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class SandbarinFacebook extends Activity {

WebView mWebView;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fb);

        final ProgressDialog pd = ProgressDialog.show(this, "", "Loading...",
                true);

        mWebView = (WebView) findViewById(R.id.webkitWebView1);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.getSettings().setSupportZoom(true);  
        mWebView.getSettings().setBuiltInZoomControls(true);
        mWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if(pd.isShowing() && pd!=null)
                {
                pd.dismiss();
                }
            }
        });
        mWebView.loadUrl("http://m.facebook.com/sandbarathens");

    }
}

答案 1 :(得分:0)

如果您希望每次用户点击链接时显示进度条,请添加代码以在shouldOverrideUrlLoading()方法中显示进度条。

答案 2 :(得分:0)

你错过了这个陈述。

mWebView.setWebViewClient(..)