Я добавил индикатор прогресса и хочу, чтобы он автоматически скрывался - PullRequest
0 голосов
/ 12 февраля 2019

Я хочу сделать этот прогресс видимым, когда он требуется, и скрыть область его нижнего колонтитула.Пожалуйста, помогите мне, я не знаю точно, что делать.

Я пробовал progressBarFooter.setVisibility (View.VISIBLE) и progressBarFooter.setVisibility (View.GONE);не работал.

public class MainActivity extends AppCompatActivity {

    ProgressBar superProgressBar;
    WebView superWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        superProgressBar= findViewById(R.id.myProgressBar);
        superWebView= findViewById(R.id.myWebView);

        superProgressBar.setMax(100);

        superWebView.loadUrl("http");
        superWebView.getSettings().setJavaScriptEnabled(true);

        superWebView.setWebViewClient(new WebViewClient());
        superWebView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                superProgressBar.setProgress(newProgress);
            }

            @Override
            public void onReceivedTitle(WebView view, String title) {
                super.onReceivedTitle(view, title);
                getSupportActionBar().setTitle(title);
            }


        });
    }

    @Override
    public void onBackPressed(){
        if (superWebView.canGoBack()){
            superWebView.goBack();
        }
        else {
            finish();
        }
    }
}

1 Ответ

0 голосов
/ 13 февраля 2019

вот способ управления индикатором выполнения.

 superWebView.setWebChromeClient(new WebChromeClient(){
            @Override
            public void onProgressChanged(WebView view, int newProgress) {
                super.onProgressChanged(view, newProgress);
                if(progress < 100 && pbar.getVisibility() == ProgressBar.GONE){
                     superProgressBar.setVisibility(ProgressBar.VISIBLE);
                }
                superProgressBar.setProgress(progress);
                if(progress == 100) {
                     superProgressBar.setVisibility(ProgressBar.GONE);        
                }
            }

         ...
        });
...