【发布时间】:2014-01-10 20:57:32
【问题描述】:
您好,我正在使用 android 。我创建了一个带有进度条的初始屏幕的 web 视图。我的应用程序最初加载启动画面并将 url 加载为背景。当 url 完全加载时,启动画面将消失并显示页面。这部分工作正常。但是当我使用进度条和启动画面时,进度栏不工作..如何实现带有启动画面的进度条...请帮助我,我是 android 开发的新手,谢谢:)
这是我的代码
public class WebViewExample extends Activity {
private WebView mWebView;
ProgressBar progressBar;
Context context;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); // remove titlebar
setContentView(R.layout.main);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
if(isNetworkStatusAvialable (getApplicationContext())) {
mWebView = (WebView) findViewById(R.id.webview);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new wapWebViewClient());
mWebView.loadUrl("http://facebook.com");
} else {
Toast.makeText(getApplicationContext(), "internet is not avialable ", Toast.LENGTH_LONG).show();
}
}
public static boolean isNetworkStatusAvialable (Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null)
{
NetworkInfo netInfos = connectivityManager.getActiveNetworkInfo();
if(netInfos != null)
if(netInfos.isConnected())
return true;
}
return false;
}
private class wapWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
// when the page loaded splash screen has been invisible
mWebView.setVisibility(View.VISIBLE);
progressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
// if any error occured this message will be showed
Toast.makeText(WebViewExample.this, "Error is occured, please try again..." + description, Toast.LENGTH_LONG).show();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
// setting of back button
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
【问题讨论】:
-
那么你希望你的进度条做什么?它只是一个小部件。您定义了它,但没有更新。您只是将其设置为可见。
-
我想和url一起加载
-
缺少对 progressBar.setProgress(...) 的调用。
-
你好@Ptm:你想在你的webview加载时显示进度条我是对的吗?如果是,请告诉我,然后我会给你答案
-
@V.P 是的,你说过..
标签: android web splash-screen