我正在创建一个简单的应用Android webview,但也按照指南,我无法实现我的代码的进度条。 如何实现在页面加载后消失的加载栏?
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView view = (WebView) this.findViewById(R.id.webView);
view.getSettings().setJavaScriptEnabled(true);
view.setWebViewClient(new MyBrowser());
view.loadUrl("http://www.abcdefcsadfg.org");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
答案 0 :(得分:0)
您可以在onCreate中初始化进度条,如下所示,并将其初始可见性设置为View.GONE。
progress = (ProgressBar) findViewById(R.id.progressBar);
progress.setVisibility(View.GONE);
你的MyBrowser看起来应该是这样的
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
progress.setVisibility(View.GONE);
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
progress.setVisibility(View.VISIBLE);
super.onPageStarted(view, url, favicon);
}
}
更新: Check this link
答案 1 :(得分:0)
您应该在xml文件中声明进度条并在主活动中引用它,以便它出现在您的应用程序中。 在MyBrowser中设置其进度。
请参阅此链接,它会对您有所帮助。
http://javatechig.com/android/progressbar-while-loading-webview