Dans une application Android J'utilise un Tabview et l'un des onglets indique une View. Mais la page est vide jusqu'à la charge de la page Web. Comment montrer une barre de progression jusqu'à la charge de la page? Il ne peut pas être dans la barre de titre car c'est caché par l'hôte de l'onglet. P>
4 Réponses :
Il y a un très bon tutoriel sur le Site des développeurs Android A > Pour cela. Il montre comment créer la boîte de dialogue de progression "roue de filature" utilisée dans les programmes Android, et même quelques bases sur la manière de gérer le chargement dans un thread séparé pour empêcher votre application de geler pendant le chargement. P>
En termes de chargement de page, vous pouvez joindre un webviewClient code> au
webview code> et décrochez lorsque la page est chargée, vous savez donc lorsque vous pouvez rejeter la boîte de dialogue.
OK, mais comment relancer le progrèsInogog en cliquant sur un lien à l'intérieur de webview?
Si votre question est "Comment savoir quand la page est chargée?", ALORS:
Créez une sous-classe personnalisée de WebViewClient, remplacement surpagefin () p>
Joindre une instance de votre webviewnient Sous-classe à votre webview via SetWebViewClient () P>
Configurez l'indicateur de progression indéfini (barre, boîte de dialogue, rotationanimation, etc.) p> Avant d'appeler loadurl ( ) Sur la webview p> avoir onepagefini () se débarrasser de l'indicateur de progression (progresssialog.dismiss ()) p> p>
J'utilise une barre de progression pour cela. Avec une mise en page comme celle-ci: i masque et montrez l'indicateur de progression à l'aide de: p> WebView webView = (WebView) findViewById(R.id.WebView);
final ProgressBar progess = (ProgressBar) findViewById(R.id.ProgressBar);
webView.setWebViewClient(new WebViewClient() {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
progess.setVisibility(View.VISIBLE);
}
public void onPageFinished(WebView view, String url) {
progess.setVisibility(View.GONE);
}
}
Après l'initialisation de votre vue, appelez simplement cette méthode
Parfois, si l'URL est morte, il sera redirigé et il arrivera à la charge à la charge à l'autre. Pour cette raison, la barre de progression ne rejetera pas. Pour résoudre ce problème, voir Ma réponse . P> Merci :) P> P> P> > startwebView (web_view, "votre URL"); code> ICI web_view est votre objet WebView initialisé. Le
startwebview () code> est indiqué ci-dessous: p>