У меня есть приложение для веб-просмотра, которое по какой-то причине я хочу отключить индикатор выполнения после загрузки приложения, я не хочу, чтобы индикатор выполнения снова работал onProgressChanged
, если приложение savedInstanceState
не равно null
.
То, что я пытаюсь сказать, это то, что при использовании нажмите на приложение, если запускается индикатор выполнения, будет видно, но тогда USE_PROGRESS
изменится на false. У меня есть только один URL-адрес для загрузки, и когда я нажимаю на элемент, когда-то появляется пользовательский индикатор выполнения, появляется мой пользовательский индикатор выполнения html и css, а также отображается собственный индикатор выполнения Android, который придает странице странный вид.
Если я полностью удаляю собственный прогресс Android, когда приложение запускается, оно сначала покажет пустую белую страницу перед загрузкой моего URL, поэтому мне нужна только собственная индикатор выполнения.
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);
}
}
}
}
}