我有一个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);
}
}
}
}
}