一旦应用加载且实例状态不为空,如何禁用android进度栏

时间:2019-01-16 08:41:23

标签: android webview progress-bar

我有一个Webview应用,出于某种原因,我希望在加载应用后禁用进度栏,一旦应用onProgressChanged未启动,我不想使进度栏再次savedInstanceState工作null

我要说的是,如果正在使用应用程序,则单击“正在启动”进度条将是可见的,但是USE_PROGRESS将变为false。当我单击某个项目时,我只有一个要加载的URL内有一个自定义进度栏,我的html和CSS自定义进度栏将可见,并且android native进度栏也将显示,这会使页面看起来很奇怪。

如果我在应用程序吃午饭时完全删除android native进度,它将在加载我的网址之前首先显示空白页面,这就是为什么我只需要原生进度条的原因。

public class MainActivity extends AppCompatActivity {
  private boolean USE_PROGRESS = false;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activitymain);
     webview = findViewById(R.id.AppId);
     progressbar = findViewById(R.id.progressBar)
     if (savedInstanceState != null) {
         USE_PROGRESS = false;
         webview.restoreState(savedInstanceState);
      }else{
         webview.setWebViewClient(new MainActivity.MyWebViewClient());
         webview.setWebChromeClient(new MainActivity.UriWebChromeClient());
         webview.loadUrl("https://example.com/app");
      }
  }

 private class UriWebChromeClient extends WebChromeClient {
  public void onProgressChanged(WebView view, int progress) {
    if (USE_PROGRESS) {
       if (progress == 100) {
           webview.setVisibility(View.VISIBLE);
           progressbar.setVisibility(View.GONE);
       } else {
           progressbar.setVisibility(View.VISIBLE);
           webview.setVisibility(View.GONE);
       }
     }
   }
 }
}

0 个答案:

没有答案