网站加载网站时我想要进度条。
我搜索的解决方案不满意。
请有人帮帮我吗?
当我点击网页中的任何链接时,它会完全加载,但我想知道它加载了多少。因此,在加载
时,我需要在webview顶部显示进度条答案 0 :(得分:0)
创建进度视图,当加载webview时(使用onProgressChanged
),设置当前进度,完成后隐藏它。
这很简单,那里有解决方案。
编辑:IMO这是Android WebView progress bar
的副本答案 1 :(得分:0)
以下是如何使用webview客户端的示例代码我使用gif imageview你可以使用进度条代替它。
public class myWebClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
ivGif.setBackgroundResource(R.drawable.anim_set_frames);
AnimationDrawable progressAnimation = (AnimationDrawable) ivGif.getBackground();
progressAnimation.start();
ivGif.setVisibility(View.VISIBLE);
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
ivGif.setVisibility(View.GONE);
}
}
webViewBooking.setWebViewClient(new myWebClient());
webViewBooking.getSettings().setJavaScriptEnabled(true);
webViewBooking.loadUrl(payment_url);
答案 2 :(得分:-1)
简单的方法是这样的;
public class MyActivity extends Activity {
private static final int PROGRESS = 0x1;
private ProgressBar mProgress;
private int mProgressStatus = 0;
private Handler mHandler = new Handler();
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.progressbar_activity);
mProgress = (ProgressBar) findViewById(R.id.progress_bar);
// Start lengthy operation in a background thread
new Thread(new Runnable() {
public void run() {
while (mProgressStatus < 100) {
mProgressStatus = doWork();
// Update the progress bar
mHandler.post(new Runnable() {
public void run() {
mProgress.setProgress(mProgressStatus);
}
});
}
}
}).start();
}
}